n = int(input()) a = [0] m = 1 while m ** 3 <= 10 ** 18: a.append(a[-1] + m ** 3) m += 1 m -= 1 i = j = 0 ans = [] while i < m: while j < m and a[j] - a[i] < n: j += 1 if j == m: break if a[j] - a[i] == n: ans.append((i + 1, j)) i += 1 print(len(ans)) for ai in ans: print(*ai)