# coding: utf-8 # Your code here! import sys import math input = lambda: sys.stdin.readline().rstrip() N = int(input()) A = [] while N: a = math.isqrt(N) # 平方根の数値を最も近い整数に丸める sqrtとの違いは? A.append(a**2) # 2乗 N -= a**2 # 2乗 print(len(A)) # 要素数の取得 print(*A) # 任意の区切り文字で区切って出力できる