using System.Collections.Generic; using static System.Math; using System; public class Hello { static void Main() { var s = long.Parse(Console.ReadLine().Trim()); getAns(s); } static long calc (long t) { var a = (long) Sqrt(t); var w = (a + 1) * (a + 1); if (w > t) { var w2 = a * a; if (w2 > t) return (a - 1) * (a - 1); else return w2; } else return w; } static void getAns(long s) { var ans = new List(); while (true) { var w = calc(s); ans.Add(w); s -= w; if (s == 0) break; } Console.WriteLine(ans.Count); Console.WriteLine(string.Join(" ",ans)); } }