eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Изоморфизмы

Изоморфизмы

Лимит времени 2 секунды
Лимит использования памяти 512 MiB

Две строки s и t называются изоморфными, если можно так переобозначить все буквы первой строки, чтобы получить вторую. Конечно, разные буквы должны быть переобозначены разными буквами, а одинаковые - одинаковыми.

Например, строки "aba" и "сас" изоморфные. Соответствующее переобозначение: обозначим букву 'a' буквой 'c', а букву 'b' буквой 'a'. А строки "xy" и "xx" не изоморфные.

Вам задана строка s. Введем функцию f(t) (t - непустая строка), которая равна количеству подстрок строки s, изоморфных t, умножить на длину строки t. Ваша задача, найти строку t, состоящую из маленьких латинских букв, такую, что значение f(t) максимально возможное.

Входные данные

В первой строке записана строка s (1|s|2000), строка состоит из маленьких латинских букв.

Выходные данные

Выведите оптимальную строку t, если таких несколько, выведите любую. Выведенная строка должна состоять из маленьких латинских букв.

Пример

Входные данные #1
abacabadabacaba
Выходные данные #1
acaba
Автор Геральд Агапов
Источник Летняя школа Севастополь 2013, Волна 1, День 6