EduBrick

H. A-функция

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

Для строки SS длины NN определим A(i)A(i) как наибольшее kk, при котором совпадают строки

S1S2…SkS_1 S_2 \ldots S_k и SiSi−1…Si−k+1S_i S_{i-1} \ldots S_{i-k+1}.

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

Формат ввода

В первой строке — число NN (1≤N≤200 0001 \le N \le 200\,000).

Во второй — строка длины NN из больших и/или маленьких латинских букв.

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

Выведите NN чисел — значения A(1),A(2),…,A(N)A(1), A(2), \ldots, A(N).

Примеры

ввод
5
aabaa
вывод
1 2 0 1 5
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.