EduBrick

G. A-функция

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

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

S1S2…Sk=SiSi−1…Si−k+1.S_1 S_2 \ldots S_k = S_i S_{i-1} \ldots S_{i-k+1}.

Посчитайте A(i)A(i) для всех ii от 1 до NN.

Формат ввода

В первой строке - число NN (1≤N≤2⋅1051 \le N \le 2 \cdot 10^5).

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

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

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

Примеры

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