#!/usr/bin/python
import time
import sys
def output(l):
if isinstance(l,tuple): map(output,l)
else: print l,
#more boring faster way ------------------------
def diophantine_f(ilist,n):
if n == 0:
output(ilist)
print
else:
for i in xrange(n,0,-1):
diophantine_f((ilist,i), n-i)
#crazy fully recursive way --------------------
def diophantine(ilist,n,i):
if n == 0:
output(ilist)
print
elif i > 0:
diophantine(ilist, n, diophantine((ilist,i), n-i, n-i))
return 0 if len(ilist) == 0 else ilist[-1]-1
##########################
#main
##########################
try:
if len(sys.argv) == 1: x=int(raw_input())
elif len(sys.argv) == 2: x=int(sys.argv[1])
else: raise ValueError
if x < 1: raise ValueError
print "\n"
#diophantine((),x,x)
diophantine_f((),x)
print "\nelapsed: ", time.clock()
except ValueError:
print "usage: ", sys.argv[0], " <Z+>"
exit(1)
IyEvdXNyL2Jpbi9weXRob24KCmltcG9ydCB0aW1lCmltcG9ydCBzeXMKCgpkZWYgb3V0cHV0KGwpOgogICAgaWYgaXNpbnN0YW5jZShsLHR1cGxlKTogbWFwKG91dHB1dCxsKSAKICAgIGVsc2U6IHByaW50IGwsCgoKI21vcmUgYm9yaW5nIGZhc3RlciB3YXkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRlZiBkaW9waGFudGluZV9mKGlsaXN0LG4pOgogICAgaWYgbiA9PSAwOgogICAgICAgIG91dHB1dChpbGlzdCkKICAgICAgICBwcmludAogICAgZWxzZTogCiAgICAgICAgZm9yIGkgaW4geHJhbmdlKG4sMCwtMSk6CiAgICAgICAgICAgIGRpb3BoYW50aW5lX2YoKGlsaXN0LGkpLCBuLWkpCgoKI2NyYXp5IGZ1bGx5IHJlY3Vyc2l2ZSB3YXkgLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGVmIGRpb3BoYW50aW5lKGlsaXN0LG4saSk6CiAgICBpZiBuID09IDA6CiAgICAgICAgb3V0cHV0KGlsaXN0KQogICAgICAgIHByaW50CiAgICBlbGlmIGkgPiAwOgogICAgICAgIGRpb3BoYW50aW5lKGlsaXN0LCBuLCBkaW9waGFudGluZSgoaWxpc3QsaSksIG4taSwgbi1pKSkKICAgIHJldHVybiAwIGlmIGxlbihpbGlzdCkgPT0gMCBlbHNlIGlsaXN0Wy0xXS0xIAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiNtYWluCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnRyeToKCiAgICBpZiAgICBsZW4oc3lzLmFyZ3YpID09IDE6ICB4PWludChyYXdfaW5wdXQoKSkKICAgIGVsaWYgIGxlbihzeXMuYXJndikgPT0gMjogIHg9aW50KHN5cy5hcmd2WzFdKQogICAgZWxzZTogcmFpc2UgVmFsdWVFcnJvciAKICAgIAogICAgaWYgeCA8IDE6IHJhaXNlIFZhbHVlRXJyb3IKCiAgICBwcmludCAiXG4iCiAgICAjZGlvcGhhbnRpbmUoKCkseCx4KQogICAgZGlvcGhhbnRpbmVfZigoKSx4KSAgICAKICAgIHByaW50ICJcbmVsYXBzZWQ6ICIsIHRpbWUuY2xvY2soKQogICAgCmV4Y2VwdCBWYWx1ZUVycm9yOgogICAgcHJpbnQgInVzYWdlOiAiLCBzeXMuYXJndlswXSwgIiA8Wis+IgogICAgZXhpdCgxKQo=