eolymp
bolt
Try our new interface for solving problems
Məsələlər

Наибольшая грань

Наибольшая грань

Гранью (border, verge, brink) br строки S называется любой собственный префикс этой строки, равный суффиксу S.

Строка S = abaababaabaab имеет две грани (не пустые) - ab и abaab. Строка S = abaabaab также имеет две грани - ab и abaab, но вторая грань - перекрывающаяся. Строка длины n из повторяющегося символа, например aaaaaaaa (или a8), имеет n - 1 грань. Для S = a8 это грани: a, aa, aaa, aaaa, aaaaa, aaaaaa, aaaaaaa.

Понятие "_собственный префикс_" исключает грань, совпадающую с самой строкой.

Длина грани - это количество символов в ней.

Естественным обобщением понятия "грань" является понятие "_наибольшей грани_" - это наибольший (по количеству символов) собственный префикс строки, равный её суффиксу.

Входные данные

Дана строка S (|S| ≤ 106).

Входные данные

Выведите длину наибольшей грани.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
abaabaab
Çıxış verilənləri #1
5