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

Прості рядки

Прості рядки

Рядок називається простим, якщо він лексикографічно менший довільного зі своїх суфіксів. Кріме того, рядок з одного символу також є простим. Наприклад, рядки \textbf{a}, \textbf{abb}, \textbf{aabb} та \textbf{abac} є простими, а рядки \textbf{aa},\textbf{baa}, \textbf{acab} та \textbf{abcabc} - ні. Відомно, що довільний рядок розкладається у конкатенацію лексикографічно незростаючої послідовності простих рядків єдиним чином. Потрібно написати программу, яка знаходила б цей розклад. \InputFile Вхідний файл складається з єдиного рядка \textbf{S}, який необхідно розкласти у конкатенацію простих. Рядок складається не більше ніж з \textbf{2000000} маленьких латинських букв і непорожній. \OutputFile Виведіть шуканий розклад, по одному елементу у рядку.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
aa
Вихідні дані #1
a
a