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