AT_cf_2015_morning_easy_b ヘイホー君と置き換え
Description
[problemUrl]: https://atcoder.jp/contests/code-festival-2015-morning-easy/tasks/cf_2015_morning_easy_b
ある文字列を $ 2 $ 回繰り返してできる文字列を、平方と呼びます。 たとえば、`abcabc` や `abababab` は平方ですが、 `abc` や `ababab` は平方ではありません。
ヘイホー君はある日、英小文字のみからなる $ N $ 文字の文字列 $ S $ を、道端で拾いました。 平方が好きなヘイホー君は、 文字列 $ S $ に以下の操作を繰り返すことで、平方を得ようと考えました。
- $ 1\ ≦\ p\ ≦\ N $ を満たす整数 $ p $ と、英小文字 $ c $ を選ぶ。その後、$ S $ の $ p $ 文字目を $ c $ に置き換える。
ヘイホー君が平方を得るために必要な操作回数の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S $
- $ 1 $ 行目には、整数 $ N\ (1\ ≦\ N\ ≦\ 100) $ が与えられる。これはヘイホー君が拾った文字列の長さを表す。
- $ 2 $ 行目には、ヘイホー君が拾った文字列 $ S $ が与えられる。$ S $ は英小文字のみからなる $ N $ 文字の文字列であることが保証される。
Output Format
もしヘイホー君が平方を得ることができないならば、$ -1 $ を $ 1 $ 行に出力せよ。 平方を得ることができるならば、そのために必要な最小の操作回数を $ 1 $ 行に出力せよ。 いずれの場合も、出力の末尾には改行をいれること。
Explanation/Hint
### Sample Explanation 1
以下のように $ 3 $ 回の操作を行うことで、`aabcaabc` という平方を得ることができます。 - $ 2 $ 文字目を `a` に置き換え、`aaacbabc` にする。 - $ 3 $ 文字目を `b` に置き換え、`aabcbabc` にする。 - $ 5 $ 文字目を `a` に置き換え、`aabcaabc` にする。
### Sample Explanation 2
`abababab` は平方なので、一度も操作を行う必要はありません。
### Sample Explanation 3
どのように操作を行っても平方を得ることはできません。