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

Автор:Жюри ВКОШП-2009   Ограничение времени:2 сек
Входной файл:next.in   Ограничение памяти:256 Мб
Выходной файл:next.out  

Условие

Разбиения числа n на слагаемые — это набор целых положительных чисел, сумма которых равна~n. При этом разбиения, отличающиеся лишь порядком слагаемых, считаются одинаковыми, поэтому можно считать, что слагаемые в разбиении упорядочены по неубыванию.

Например, существует 7 разбиений числа 5 на слагаемые: 1+1+1+1+1, 1+1+1+2, 1+1+3, 1+2+2, 1+4, 2+3, 5.

В приведенном примере разбиения упорядочены лексикографически — сначала по первому слагаемому в разбиении, затем по второму, и так далее. В этой задаче вам потребуется по заданному разбиению на слагаемые найти следующее в лексикографическом порядке разбиение.

Формат входного файла

Входной файл содержит одну строку — разбиение числа n на слагаемые. Слагаемые в разбиении следуют в неубывающем порядке.

Формат выходного файла

Выведите в выходной файл одну строку — разбиение числа n на слагаемые, следующее в лексикографическом порядке после приведенного во входном файле. Если во входном файле приведено последнее разбиение числа n на слагаемые, выведите No solution.

Ограничения

1 ≤ n ≤ 105;

Примеры тестов

Входной файл (next.in) Выходной файл (next.out)
1
5=1+1+3
5=1+2+2
2
5=5
No solution

0.087s 0.009s 15