#include<bits/stdc++.h>
using namespace std;
int q[2000]={0},k=0;
void f(int n){
int s=1;
while(s<=n){
s*=2;
}
if(s!=2)
s/=2;
if(s!=0){
q[k]=s;
k++;
}
if(n==0){
return;
}
f(n-s);
}
int main(){
int n;
cin>>n;
f(n);
if(k!=0){
for(int i=0;i<k;i++){
cout<<q[i]<<" ";
}
}
else{
cout<<"-1";
}
return 0;
}
/**************************************************************
Problem: 2397
User: houshanglin
Language: C++
Result: Time Limit Exceed
****************************************************************/