EduBrick

Z-функция по префикс-функции

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

Дана префикс-функция некоторой строки. Восстановите её Z-функцию - не восстанавливая саму строку.

Формат ввода

В первой строке - длина nn (1≤n≤1061 \le n \le 10^6).

Во второй строке - nn значений префикс-функции некоторой строки из строчных латинских букв.

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

Выведите nn значений Z-функции той же строки. Первое из них равно nn.

Примеры

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