N = int(input()) ans = [] for x in range(N+1): if 3*x*x > N: break for y in range(x, N+1): if x*y+y*y+y*x > N: break for z in range(y, N+1): if x*y+y*z+z*x > N: break if x*y+y*z+z*x == N: if x == y == z: ans.append((x, y, z)) elif x == y: ans.append((x, y, z)) ans.append((x, z, y)) ans.append((z, x, y)) elif y == z: ans.append((x, y, z)) ans.append((y, x, z)) ans.append((y, z, x)) else: ans.append((x, y, z)) ans.append((x, z, y)) ans.append((y, x, z)) ans.append((y, z, x)) ans.append((z, x, y)) ans.append((z, y, x)) print(len(ans)) for a in ans: print(*a)