n=int(input()) F=[] for i in range(1,10**6+10): if n%i==0: F.append(i) F.append(n//i) F=sorted(set(F)) ANS=[] for f in F: if f%2==1: m=f//2 if n//f-m>0: ANS.append((1,n//f-m,n//f+m)) #print(ANS) F=[] for i in range(1,3*10**6+10): if (n*2)%i==0: F.append(i) F.append((2*n)//i) F=sorted(set(F)) for f in F: if f%2==0: if (2*n//f)%2==1: m=f//2 x=(2*n)//f if (x-2*m)//2+1>0: ANS.append((1,(x-2*m)//2+1,(x+2*m)//2)) #print(ANS) for ep in range(2,60): SUM=0 now=1 for i in range(1,round(n**(1/ep))+5): while SUM