import math def intsqrt(n): sqnf=math.sqrt(n) dig=math.ceil(math.log10(sqnf)) sq=0 for k in reversed(range(0,dig+1)): for l in range(0,10): sq+=10**k if sq*sq==n: break if sq*sq>n: sq-=10**k break return sq S=int(input()) ans=[] while S: t=intsqrt(S) t*=t ans.append(t) S-=t print(len(ans)) print(*ans)