Обозначим за \(f(x)\) функцию от строки \(x\), равную числу различных символов, содержащихся в строке. Например, \(f(\texttt{abc}) = 3\), \(f(\texttt{bbbbb}) = 1\), а \(f(\texttt{babacaba}) = 3\).
Дана строка \(s\), разделите её на две непустых строки \(a\) и \(b\) таких, что \(f(a) + f(b)\) максимально возможно. Другими словами, найдите наибольшее возможное значение \(f(a) + f(b)\) такое, что \(a + b = s\) (конкатенация строк \(a\) и \(b\) равна строке \(s\)).
Выходные данные
Для каждого набора входных данных выведите единственное целое число — максимально возможное значение \(f(a) + f(b)\) такое, что \(a + b = s\).
Примечание
В первом наборе входных данных существует только один корректный способ разделить \(\texttt{aa}\) на две непустых строки: \(\texttt{a}\) и \(\texttt{a}\). \(f(\texttt{a}) + f(\texttt{a}) = 1 + 1 = 2\).
Во втором наборе, разделив \(\texttt{abcabcd}\) на \(\texttt{abc}\) и \(\texttt{abcd}\) мы можем получить наибольший возможный ответ \(f(\texttt{abc}) + f(\texttt{abcd}) = 3 + 4 = 7\)
В третьем наборе не важно как мы разделим строку, ответ будет равен \(2\) при любом разделении.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 2 aa 7 abcabcd 5 aaaaa 10 paiumoment 4 aazz
|
2
7
2
10
3
|