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

Следующее разбиение на слагаемые

Следующее разбиение на слагаемые

Разбиения числа \textbf{n} на слагаемые - это набор целых положительных чисел, сумма которых равна \textbf{n}. При этом разбиения, отличающиеся лишь порядком слагаемых, считаются одинаковыми, поэтому можно считать, что слагаемые в разбиении упорядочены по неубыванию. Например, существует \textbf{7} разбиений числа \textbf{5} на слагаемые: \textbf{5}=\textbf{1}+\textbf{1}+\textbf{1}+\textbf{1}+\textbf{15}=\textbf{1}+\textbf{1}+\textbf{1}+\textbf{25}=\textbf{1}+\textbf{1}+\textbf{35}=\textbf{1}+\textbf{2}+\textbf{25}=\textbf{1}+\textbf{45}=\textbf{2}+\textbf{35}=\textbf{5} В приведенном примере разбиения упорядочены \textit{лексикографически} - сначала по первому слагаемому в разбиении, затем по второму, и так далее. В этой задаче вам потребуется по заданному разбиению на слагаемые найти следующее в лексикографическом порядке разбиение. \InputFile Входной файл содержит одну строку - разбиение числа \textbf{n} на слагаемые (\textbf{1} ≤ \textbf{n} ≤ \textbf{100 000}). Слагаемые в разбиении следуют в неубывающем порядке. \OutputFile Выведите в выходной файл одну строку - разбиение числа \textbf{n} на слагаемые, следующее в лексикографическом порядке после приведенного во входном файле. Если во входном файле приведено последнее разбиение числа \textbf{n} на слагаемые, выведите "\textbf{No solution}".
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
5=1+1+3
Выходные данные #1
5=1+2+2
Автор Андрей Станкевич