Надіслати розв'язок
Бали:
30,00
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Author:
Problem types
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb
Оксана більше за все любить працювати з рядками.
У неї є рядок ~T~ і вона збирається знаходити функцію ~f~ від рядка ~s~:
~f(s) = |s| \times~ (кількість разів ~s~ зустрілося в ~T~)
Оксана хоче знати максимальне значення серед усіх підрядків рядка.
Допоможіть Оксані розв'язати цю задачі - складіть відповідну програму.
Input
Вхідний потік містить рядок ~T~.
Output
У вихідний потік вивести максимальне значення ~f(s)~ серед усіх підрядків ~s~ рядка ~T~.
Обмеження
~1 \le T \le 10^5~
~T~ містить символи проміжку ['a'..'z']
Пояснення
Тест 1
f('a') = 6
f('aa') = 10
f('aaa') = 12
f('aaaa') = 12
f('aaaaa') = 10
f('aaaaaa') = 6
Тест 2
f('a') = 2
f('b') = 2
f('c') = 2
f('ab') = 4
f('bc') = 4
f('ddd') = 3
f('abc') = 6
f('abcabcddd') = 9
Sample Input 1
aaaaaa
Sample Output 1
12
Коментарі