Наибольшая грань
Наибольшая грань
Гранью (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
).
Входные данные
Выведите длину наибольшей грани.
abaabaab
5