#include #include using namespace std; using namespace atcoder; using ll=long long; using ld=long double; ld pie=3.141592653589793; ll inf=6000000007999999999; ll mod=1000000007; int main(){ ll n; cin >> n; if (n==0) { cout << -1 << endl; return 0; } ll ok=1; vectortwo(60,1); for (ll i = 1; i < 60; i++) { two[i]=two[i-1]*2; } vectorans; for (ll i = 60; i >=0; i--) { ll z; if (two[i]&n) { z=1; }else{ z=0; } if (z==ok) { ans.push_back(two[i]); ok=1-ok; } } cout << ans.size() << endl; for (ll i = 0; i < ans.size(); i++) { cout << ans[i] << ' '; } cout << endl; }