n = int(input())
result = []
def backtrack(n, path):
if n == 0:
result.append(path)
return
for i in range(10):
for j in range(1, 4):
if j + sum(path) > n:
break
backtrack(n - j, path + [j])
backtrack(n, [])
print(len(result))
for path in result:
for i in path:
print(' '.join(map(str, i)))