#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(int i=0;i1){ ll mid=(ok+ng)/2; if(c(mid)) ok=mid; else ng=mid; } return ok; } int main(void){ cin.tie(nullptr); ios_base::sync_with_stdio(false); int i,j,k; cin >> S; vector v; a=S; while(1){ ll x=maxfind(a); v.push_back(x*x); a=a-x*x; if(a<=0LL) break; } int n=v.size(); cout << n << endl; REP(i,n) cout << v[i] << ' '; cout << endl; return 0; }