N = int(input()) T = [0] i = 1 while True: if i ** 3 > N: break T.append(T[-1] + i ** 3) i += 1 M = len(T) dic = {} ans = [] for i in range(M): if T[i] - N in dic: ans.append([dic[T[i] - N] + 1, i]) dic[T[i]] = i print(len(ans)) for a in ans: print(*a)