n = int(input()) ans = set() for x in range(n + 1): if 3 * x * x > n: break for y in range(max(x, 1), n + 1): if x * y + x * y + y * y > n: break if (n - x * y) % (x + y) == 0: z = (n - x * y) // (x + y) ans.add((x, y, z)) ans.add((x, z, y)) ans.add((y, x, z)) ans.add((y, z, x)) ans.add((z, x, y)) ans.add((z, y, x)) print(len(ans)) for x, y, z in sorted(ans): print(x, y, z)