string s;
bitset<32> b(n);
int j=31;
while(b[j]==0) j--;
for(int i=j;i>=0;i--){
s+=to_string(b[i]);
}
// cout<<s<<endl;
int cnt=0;
vector<int>v;
v.push_back(0);
for(int i=0;i<s.size();i++){
if(s[i]=='1'){
cnt++;
v.push_back((i+1);
// cout<<i+1<<" ";
}
}
v[0]=cnt;
return v;