문제
같은 크기의 정육면체 상자 N개가 있다. 이 상자들을 쌓는 방법을 구하고자 한다.
쌓을 때 규칙은 왼쪽의 높이가 오른쪽보다 높거나 같아야 한다.
예를 들어 N이 5일 경우 아래와 같이 7가지 경우가 있다.

상자의 개수 N이 주어질 때 규칙에 맞추어 상자를 쌓는 방법을 모두 구하고
사전 편집상 내림차순으로 출력하는 프로그램을 작성하시오.
입력
첫 행에 상자의 개수 N ( 1 ≤ N ≤ 30) 이 주어진다.
출력
규칙에 맞추어 상자를 쌓는 방법을 모두 구하여 사전 편집상 내림차순으로 행으로 구분하여 출력하시오. 각 행에 구성된 수는 공백으로 구분한다.
예제1
입력
5
출력
5
4 1
3 2
3 1 1
2 2 1
2 1 1 1
1 1 1 1 1
출처
JOI 2005/2006 본선 3