Задачи
Следующее разбиение на слагаемые
Следующее разбиение на слагаемые
Разбиения числа \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
5=1+1+3
Выходные данные #1
5=1+2+2