#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); long long S; cin >> S; vectorans; while(S) { long long l = 0,r = 1001001001; while(l+1 < r) { long long mid = (l+r)/2; if(mid*mid <= S) { l = mid; } else { r = mid; } } ans.push_back(l*l); S -= l*l; } cout << ans.size() << "\n"; for(int i = 0; i < ans.size(); i++) { cout << ans[i] << ((i+1 == ans.size())?"\n":" "); } }