E. Сжать строку
3000 мс · 256 МБ · всё или ничего
Как предыдущая задача, но вывести надо саму наименьшую строку , из повторений которой складывается .
Считается то же самое: . Если делится на , ответ — префикс длины . Иначе строка не сжимается, и ответ — она сама.
Стоит проговорить, почему наименьший период даёт именно наименьшее : любое разложение означает, что — период строки и делитель , а наименьший период — наименьший из таких.
Обратите внимание, что не всякий период годится в качестве длины : нужен делитель. Например, у aabaaa наименьший период равен 4, но на не делится, и строка не сжимается.
Формат ввода
Одна строка длины () из строчных латинских букв.
Формат вывода
Одна строка — наименьшая , для которой является её повторением.
Примеры
ввод
aaaaa
вывод
a
ввод
abcabcabc
вывод
abc
ввод
aabaaa
вывод
aabaaa
Войдите, чтобы отправлять решения.