from heapq import heappush, heappop, heapify import sys from collections import defaultdict, deque from math import ceil, floor, sqrt, factorial, gcd from itertools import permutations, combinations from bisect import bisect_left, bisect_right sys.setrecursionlimit(10**6) # input = sys.stdin.readline s = int(input()) ans = [] while s > 0: x = floor(s**0.5) s -= x*x ans.append(x*x) print(len(ans)) print(*ans)