N=int(input()) #xy+yz+zx=N #x<=y<=zで探索 ans=set() for x in range(N+1): if 3*x**2>N: break for y in range(x,N+1): if x==0 and y==0: continue if x*y>N: break if (N-(x*y))%(x+y)==0: z=(N-(x*y))//(x+y) ans.add((x,y,z)) ans.add((x,z,y)) ans.add((y,x,z)) ans.add((y,z,x)) ans.add((z,x,y)) ans.add((z,y,x)) print(len(ans)) for tup in ans: print(*tup)