#include using namespace std; int main() { int n; cin >> n; vector d; while(n) { d.push_back(n % 2); n /= 2; } vector ans; int sz = d.size(); reverse(d.begin(), d.end()); int p = 1; ans.push_back(1); for(int i = 0; i + 1 < sz; ++i) { p *= 2; if(d[i + 1] == 1) { ans.push_back(p); } else { vector aux = ans; for(auto temp : aux) { ans.push_back(p + temp); } } } int k = ans.size(); cout << k << "\n"; for(auto temp : ans) cout << temp << " "; }