426. Честный дележ

Не решаласьСредняя

Вам дана строка ss, которую вы купили в качестве угощения к чаю. Теперь, прежде чем позвать гостей, нужно определить, на сколько гостей можно разделить ss.

Формально разделением строки ss называется её разбиение на подстроки s1, s2, ,sks_1,\ s_2,\ \ldots, s_k таким образом, что s1+s2++sk=ss_1 + s_2 + \ldots + s_k = s, подстроки совпадают как мультимножества символов. Например, строку "ababbaab"\text{"ababbaab"} можно разделить как на [ "ab" ,"ab","ba","ab"][\text{ "ab" }, \text{"ab"}, \text{"ba"}, \text{"ab"}], так и на ["abab","baab"][\text{"abab"}, \text{"baab"}].

Вы хотите найти честное разделение строки ss на максимальное число подстрок, чтобы определить, сколько гостей можно позвать на чай.

Формат ввода

В первой строке записана непустая строка ss, состоящая из строчных букв английского алфавита. Длина строки ss не превосходит 51055\cdot10^5 символов.

Формат вывода

Выведите одно число — максимально возможное количество подстрок, на которое можно разделить строку ss.

Примечание

Первый тест соответствует строке ababbaab, описанной в условии.

Во втором тесте нельзя разбить строку на больше, чем 1 подстроку, так как в ней есть уникальный символ r.

Ограничения

Ограничение времени

1 с

Ограничение памяти

128 МБ

Пример 1

Ввод
ababbaab
Вывод
4

Пример 2

Ввод
ogorog
Вывод
1

Теги

Нужно войти, чтобы отправить решение.Войти