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