N = int(input()) ans = [] for x in range(1, int(N**0.5) + 1): top = int((x * x + N) ** 0.5) - x for y in range(x, top + 1): numer = N - x * y if numer % (x + y) == 0: z = numer // (x + y) ans.append((x, y, z)) if N % x == 0: y = N // x if x <= y: ans.append((0, x, y)) fans = set() for x, y, z in ans: fans.add((x, y, z)) fans.add((x, z, y)) fans.add((y, x, z)) fans.add((y, z, x)) fans.add((z, x, y)) fans.add((z, y, x)) print(len(fans)) for t in fans: print(*t)