import sys input = sys.stdin.readline from collections import deque N=int(input()) DP=[1<<30]*(N+1) DP[0]=0 FR=[-1]*(N+1) sq=round(N**(1/2))+2 for i in range(N+1): for j in range(1,sq,2): if i+j*j>N: break if DP[i+j*j]>DP[i]+j: DP[i+j*j]=DP[i]+j FR[i+j*j]=i for j in range(sq//2*2,0,-2): if i+j*j>N: continue if DP[i+j*j]>DP[i]+j: DP[i+j*j]=DP[i]+j FR[i+j*j]=i ANS=[] now=N while now>0: to=FR[now] ANS.append(round((now-to)**(1/2))) now=to E=[] O=[] for ans in ANS: if ans%2==0: E.append(ans) else: O.append(ans) O.sort() E.sort() LANS=[] for x in O: S=[0] while len(S)