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

Декомпозиция

Декомпозиция

Візьмемо деяку послідовність \textbf{T} з \textbf{0} і \textbf{1}. Розглянемо всі варіанти її циклічного зсуву. Для цього записуємо символи послідовності по кругу і виписуємо її символи, рухаючись за годинниковою стрілкою, починаючи з довільного символа, поки не дійдемо до початкового. Наприклад, з "\textbf{01101}" отримаємо наступні \textbf{5} варіантів після їх лексикографічного впорядкування: "\textbf{01011}", "\textbf{01101}", "\textbf{10101}", "\textbf{10110}", "\textbf{11010}". Якщо послідовність \textbf{T} співпадає з варіантом циклічного зсуву, який є після впорядування першим, то будемо називати її "\textit{намистом}". Таким чином "\textbf{001}" -- "намисто", а "\textbf{01101}" -- ні. Довільна послідовність \textbf{S} може бути записана єдиним чином у вигляді сцеплювання "намист" \textbf{T_i}: \textit{\textbf{S}} = \textbf{T_1 T_2 … T_k} таким чином, щоб \textbf{T_i T_\{i+1\}} не було "намистом" і \textbf{T_\{i+1\}} <\textbf{ T_i} для всіх \textbf{i} від \textbf{0} до \textbf{k−1}. Відношення \textbf{A} <\textbf{ B} означає, що або перші символи \textbf{B} співпадають з \textbf{A} і при цьому довжина \textbf{A }<\textbf{ B}, або перші \textbf{m} символів \textbf{A} співпадають з першими \textbf{m} символами \textbf{B}, а (\textbf{m+1})-й символ \textbf{A} \textbf{<} (\textbf{m+1})-го символа \textbf{B}. Наприклад, \textbf{001} < \textbf{0010} і \textbf{1101011} < \textbf{110110}. Напишіть програму, яка знаходить для даного рядка представленння у вигляді сцеплення "намист". \InputFile Вводиться рядок довжиною не більше \textbf{100} символів, який складається лише з \textbf{0} і \textbf{1} . \OutputFile Вивести представлення введеного рядка у вигляді описаного вище сцеплення "намист". Кожне "намисто" повинно бути виведено у круглих дужках.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
0
Вихідні дані #1
(0)