#cf2015morningeasyb. [cf_2015_morning_easy_b]ヘイホー君と置き換え
[cf_2015_morning_easy_b]ヘイホー君と置き換え
問題文
ある文字列を 回繰り返してできる文字列を、平方と呼びます。 たとえば、abcabc
や abababab
は平方ですが、 abc
や ababab
は平方ではありません。
ヘイホー君はある日、英小文字のみからなる 文字の文字列 を、道端で拾いました。 平方が好きなヘイホー君は、 文字列 に以下の操作を繰り返すことで、平方を得ようと考えました。
- を満たす整数 と、英小文字 を選ぶ。その後、 の 文字目を に置き換える。
ヘイホー君が平方を得るために必要な操作回数の最小値を求めてください。
入力
入力は以下の形式で標準入力から与えられる。
- 行目には、整数 が与えられる。これはヘイホー君が拾った文字列の長さを表す。
- 行目には、ヘイホー君が拾った文字列 が与えられる。 は英小文字のみからなる 文字の文字列であることが保証される。
出力
もしヘイホー君が平方を得ることができないならば、 を 行に出力せよ。 平方を得ることができるならば、そのために必要な最小の操作回数を 行に出力せよ。 いずれの場合も、出力の末尾には改行をいれること。
入力例1
8
abacbabc
出力例1
3
以下のように 回の操作を行うことで、aabcaabc
という平方を得ることができます。
- 文字目を
a
に置き換え、aaacbabc
にする。 - 文字目を
b
に置き換え、aabcbabc
にする。 - 文字目を
a
に置き換え、aabcaabc
にする。
入力例2
8
abababab
出力例2
0
abababab
は平方なので、一度も操作を行う必要はありません。
入力例3
5
abcde
出力例3
-1
どのように操作を行っても平方を得ることはできません。
入力例4
26
codefestivaltwozeroonefive
出力例4
11