#include<bits/stdc++.h>
using namespace std;
long long a,n,x[100],q;
long long lpow(long long o,long long p){
return long(pow(o,p));
}
void po2(long long a,long long n){
while(a!=0){
if(lpow(2,n)<=a){
a-=lpow(2,n);
x[q]=lpow(2,n);
q++;
}
n--;
}
}
int main(){
cin>>a;
if(a%2==0){
while(lpow(2,n+1)<a){
n++;
}
if(lpow(2,n+1)==a){
cout<<lpow(2,n+1);
}
po2(a,n);
for(long long i=0;i<q;i++){
cout<<x[i]<<" ";
}
}
else{
cout<<-1;
}
return 0;
}