INF = 10**6 + 2025 n = int(input()) a = [] for i in range(INF): a.append(i**3) for i in range(1, len(a)): a[i] += a[i - 1] ans = [] j = 0 for i in range(INF): while j != INF and a[j] < a[i] - n: j += 1 if a[j] == a[i] - n: ans.append((j + 1, i)) print(len(ans)) for x, y in ans: print(x, y)