a = 10**6 N = int(input()) l = [] for i in range(a+1): l.append(i**2*(i+1)**2) import bisect ans = [] for j,i in enumerate(l): r4 = i+4*N #print(i,r4,l[:10]) id = bisect.bisect_left(l,r4) if id == a+1: break elif l[id] == r4: ans.append((j+1,id)) print(len(ans)) for i,j in ans: print(i,j)