ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1960. Палиндромы и сверхспособности

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
После того как Миша решил на Тимусе семь задач со словом «палиндром» в названии, он приобрёл необыкновенную способность. Теперь, прочитав слово, он может посчитать в уме количество уникальных непустых подстрок этого слова, являющихся палиндромами.
Дима хочет проверить, не ошибается ли Миша. Для этого он дописывает к слову по одной букве s1, ..., sn и после каждой буквы просит Мишу сказать, сколько различных непустых подстрок-палиндромов содержит слово в данный момент. Какие n чисел назовёт Миша, если он действительно никогда не ошибается?

Исходные данные

На вход подаётся строка s1...sn из строчных латинских букв (1 ≤ n ≤ 105).

Результат

Выведите n чисел через пробел. i-е число должно равняться количеству различных подстрок-палиндромов префикса s1...si.

Пример

исходные данныерезультат
aba
1 2 3
Автор задачи: Михаил Рубинчик (подготовка — Григорий Назаров)
Источник задачи: Ural FU contest. Kontur Cup. Petrozavodsk training camp. Winter 2013