시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB137877066.038%

문제

同じ大きさの正方形の紙が n 枚ある.これらの紙の下部を水平に揃えて何列 かに並べる.ただし,隣り合う列は左側が右側より低くならないように並べなけれ ばならない.例えば, n = 5 のときは,次のような 7 通りの並べ方が可能である.

これらを,各列に並んだ正方形の個数の列で表すことにする.例えば,n = 5 の ときは,それぞれ,

(5) (4, 1) (3, 2) (3, 1, 1) (2, 2, 1) (2, 1, 1, 1) (1, 1, 1, 1, 1)

と表わされる.

n を入力したとき, 辞書式順序で全て出力するプログラムを作成せよ.n ≤ 30 とする.ただし, 辞書式順序とは2つの並べ方 (a1, a2, ..., as) が並べ方 (b1, b2, ..., bt) に対して, a1 > b1 または, ある整数 i > 1 が存在して a1 = b1, ..., ai−1 = bi−1 かつ ai > bi が成り立つとき (a1, a2, ..., as) が (b1, b2, ..., bt) より先に出力されるように並 べることである.

입력

1 行からなり, 1 行目に n が書かれている.

출력

辞書式順序で1 行に1通りずつ書き最後に改行を入れること. 並べ方は (a1, a2, ..., as) の出力は整数 a1, a2, . . . , as をこの順番に空白で区切って出力すること.

예제 입력 1

5

예제 출력 1

5
4 1
3 2
3 1 1
2 2 1
2 1 1 1
1 1 1 1 1