Задачі
Найбільша грань підрядка
Найбільша грань підрядка
\textit{Гранню (border, verge, brink) br} рядка \textbf{S} називається довільний власний префікс цього рядка, рівний суфіксу \textbf{S}.
Рядок \textbf{S = abaababaabaab} має дві грані (не порожні) - \textbf{ab} та \textbf{abaab}. Радок \textbf{S = abaabaab} також має дві грані - \textbf{ab} та \textbf{abaab}, але друга грань - перекривається. Рядок довжини \textbf{n} з символу, що повторюється, наприклад \textbf{aaaaaaaa} (або \textbf{a^8}), має \textbf{n-1} грань. Для \textbf{S = a^8} це грані: \textbf{a}, \textbf{aa}, \textbf{aaa}, \textbf{aaaa}, \textbf{aaaaa}, \textbf{aaaaaa}, \textbf{aaaaaaa}.
Поняття "\textit{власний префікс}" виключає грань, яка співпадає з самим рядком.
\textit{Довжина грані} - це кількість символів у ній.
Узагальнимо задачу. Нехай потрібно обчислииь значення найбільших граней для усіх підрядків \textbf{S\[1..i\]} (\textbf{i=1..n}) і зберегти їх у масиві \textbf{br\[1..n\]}.
Знайдіть найбільше значення грані у масиві найбільших граней \textbf{br} для усіх підрідків \textbf{S}.
\InputFile
Задано рядок \textbf{S} (|\textbf{S}| ≤ \textbf{10^6}).
\OutputFile
У єдиному рядку вивести відповідь до сформульованої задачі.
Вхідні дані #1
abaabaab
Вихідні дані #1
5