1879: Функція від рядка

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 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

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.