EduBrick

D. Наименьший период

3000 мс · 256 МБ · всё или ничего

Периодом строки ss длины nn называется такое число dd, что si=si+ds_i = s_{i+d} для всех ii от 1 до n−dn - d.

Найдите наименьший период. Делимость nn на dd не требуется.

Ответ — это ровно nn минус наибольший бордер: одна строчка после подсчёта префикс-функции.

Стоит убедиться, что вы понимаете разницу с классной задачей про период. Там нужно было наибольшее kk с s=tks = t^k, и делимость была обязательна. Здесь ограничения нет, и у строки aabaa ответ 3, хотя 55 на 33 не делится.

Формат ввода

Одна строка длины nn (1≤n≤1061 \le n \le 10^6) из строчных латинских букв.

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

Одно число — длина наименьшего периода.

Примеры

ввод
aabaa
вывод
3
ввод
aaaaa
вывод
1
Войдите, чтобы отправлять решения.