Враховуючи рядок як аргумент, виведіть довжину найдовшого повторюваного підрядка (ів), що не перекриваються, або нуля, якщо такого рядка немає.
Ви можете припустити, що вхідний рядок не порожній.
Приклади
abcdefabc
: підрядка abc
повторюється в позиціях 1 і 7, тому програма повинна виводити 3
abcabcabcabcab
: abcabc
Або bcabca
або cabcab
повторюються, тому програма повинна вивести 6 . (підрядка abcabcabcab
також повторюється, але події перетинаються, тому ми не приймаємо її).
aaaaaaa
: aaa
повторюється, наприклад, у позиціях 1 і 4, тому програма повинна виводити 3
abcda
: a
повторюється, тому програма повинна виводити 1
xyz
: немає повторного рядка → 0
ababcabcabcabcab
: повинен повернутися 6
Це код-гольф , тому виграє найменше байтів.