def bis(ok, ng): def is_ok(md): return md**2 <= S while abs(ok - ng) > 1: md = (ng + ok) // 2 if is_ok(md): ok = md else: ng = md return ok S = int(input()) A = [] while S: a = bis(1, 10**9+1) A.append(a**2) S -= a**2 print(len(A)) print(*A)