n = int(input()) dp = [i * (i + 1) // 2 for i in range(10**6+2)] Ans = [] l = 0 r = 0 N = 10 ** 6 + 1 while l < N: if r < N and (dp[r] - dp[l]) * (dp[r] + dp[l]) < n: r += 1 else: if (dp[r] - dp[l]) * (dp[r] + dp[l]) == n: Ans.append((l+1, r)) l += 1 print(len(Ans)) for l, r in Ans: print(l, r)