名川 若菜 (なかわ わかな) ちゃんは回文が大好きだ。なぜなら、自分の名前もまた回文であるからである。
わかなちゃんはアルファベットブロックがいくつか入っているセットを手に入れた。アルファベットブロックというのは、1 つのブロックにつき 1 文字の英小文字アルファベットが書いてあるブロックのことであり、ブロックの順序を入れ替えて組み合わせることで好きな文字列を作ることができる。わかなちゃんはこのセットで回文を作れないか考えているところだ。
アルファベットブロックのセットには、以下の 3 種類の操作が可能であり、操作のコストはそれぞれ 1 である。
アルファベットブロックのセットに何度か操作を行うことによって、並び替えて回文にできるようなセットにしたい。そのような操作のコストの最小値はいくつになるだろうか? わかなちゃんと一緒に考えてみよう。
入力は、最初に持っているアルファベットブロックセットの情報を指す文字列 S の 1 行からなる。
S は英小文字のみで構成され、1 \leq |S| \leq 10^3 を満たす。
回文を作成するためのコストの最小値を出力せよ。末尾の改行を忘れないこと。
hcpc
1
この場合コスト 1 で回文を作ることができるが、複数の方法が考えられる。例えば、’h’ のブロックを追加すると 'hcpch' が作れるため、コスト 1 で回文が作れる。また、'h’のブロックを削除すると 'cpc' が作れるため、この方法でもコスト 1 で回文が作れる。
ritscamp
4
nakawawakana
0
最初から回文を作ることができる場合、コストは 0 である。