S = int(input()) def f(n): lo = 1 hi = n res = lo while lo <= hi: m = (lo + hi) // 2 if m*m <= n: res = max(res, m*m) lo = m + 1 else: hi = m - 1 return res x = S ans = [] while x > 0: t = f(x) ans.append(t) x -= t print(len(ans)) print(*ans)