#include using namespace std; using ll = long long; #define rep(i,m,n) for(int i=m; i> S; vector ans; while(S > 0LL){ ll ok = 0LL, ng = ll(1e9 + 100); while(ok + 1LL != ng){ ll mid = (ok + ng)/2LL; if(mid * mid > S) ng = mid; else ok = mid; } ans.push_back(ok*ok); S -= ok*ok; } int n = ans.size(); cout << n << endl; rep(i, 0, n){ cout << ans[i]; cout << (i == n-1 ? '\n' : ' '); } return 0; }