def search(x): # a * a <= y を満たす最大のaを求める lb = 1 ub = x + 1 while ub - lb > 1: mid = (ub + lb) // 2 if mid * mid <= x: lb = mid else: ub = mid return lb S = int(input()) y = search(S) ans = [] while S > 0: y = search(S) y2 = y * y x = S//(y2) ans += [y2] * x S -= x * y2 print(len(ans)) print(*ans)