Розбиття на доданки — це множини додатних цілих чисел, сума яких дорівнює . Розбиття, що різняться лише порядком доданків, вважаються однаковими, тому доданки у розбитті можна вважати впорядкованими за неспаданням.
Наприклад, існує розбиттів числа на доданки:
У прикладі розбиття впорядковані лексикографічно — спочатку за першим доданком, потім за другим, і так далі. У цій задачі вам задано розбиття, і потрібно знайти наступне розбиття у лексикографічному порядку.
Вхідний файл містить один рядок: розбиття числа (1 \leq n \leq 100\,000) на доданки. Доданки подані у неспадному порядку.
Виведіть один рядок: розбиття числа на доданки, яке є наступним у лексикографічному порядку після того, що у вхідному файлі. Якщо у вхідному файлі наведено останнє можливе розбиття , виведіть No solution.
Приклад 1