Олимпиадный тренинг

Задача . D. Палиндромность


Задача

Темы: Строки хэши *2200

Строка s длины n называется k-палиндромом, если она сама является палиндромом, а ее префикс и суффикс длины являются (k - 1)-палиндромами. 0-палиндромом является любая строка (даже пустая).

Назовем палиндромностью строки s такое максимальное число k, для которого s является k-палиндромом. Например, палиндромность строки «abaaba» равна 3.

Дана строка. Ваша задача — найти сумму палиндромностей всех ее префиксов.

Входные данные

В первой строке входных данных записана непустая строка, состоящая из букв латинского алфавита и цифр. Длина строки не превосходит 5·106. Регистр букв следует различать.

Выходные данные

Выведите единственное число — сумму палиндромностей всех префиксов данной строки.


Примеры
Входные данныеВыходные данные
1 a2A
1
2 abacaba
6

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя