Разбиение на невозрастающие слагаемые, обратный порядок

Дано натуральное число N. Рассмотрим его разбиение на различные натуральные слагаемые. Два разбиения, отличающихся только порядком слагаемых, будем считать за одно, поэтому можно считать, что слагаемые в разбиении упорядочены по невозрастанию.

Входные данные

Задано единственное число N. (N ≤ 40)

Выходные данные

Необходимо вывести все разбиения числа N на различные натуральные слагаемые в обратном лексикографическом порядке.

Примеры
Входные данные
5
Выходные данные
5 
4 1 
3 2 
3 1 1 
2 2 1 
2 1 1 1 
1 1 1 1 1 

Задача на informatics