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 if y==0: continue if (N-x*y)%(x+y)==0: z=(N-x*y)//(x+y) 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)