#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,a,b,d,z;
long long final=0;
long long s[24];
s[0]=200;
for(int u=1;u<=23;u++) s[u]=0;
int f=0;
int g=0;
cin>>n;
if(n%2!=0) cout<<"-1";
else
{
//for start
for(int i=1;i<=23;i++)
{
a=pow(2,i);
if(n==a)
{
cout<<"-1";
f=1;
break;
}
else
{
}
}
//for end
if(f==1) return 0;
//else in else
else
{
for(int c=1;c<=23;c++)
{
b=pow(2,c);
d=pow(2,c+1);
if(n%2!=0)
{
g=1;
break;
}
if(b==n)
{
s[c]=b;
n-=s[c];
c=1;
}
if(2==n)
{
s[1]=2;
n=0;
}
if(b<n&&d>n)
{
s[c]=b;
n-=s[c];
c=1;
}
}
if(g==1) cout<<"-1";
//else in else in else
else
{
for(int t=1;t<=23;t++)
{
for(int y=1;y<=t;y++)
{
if(s[y]>s[t]) swap(s[y],s[t]);
}
}
for(int w=1;w<=23;w++)
{
if(s[w]==0&&s[w+1]!=0) final=w+1;
}
for(int j=23;j>=1;j--)
{
if(j==final)
{
cout<<s[j];
break;
}
else cout<<s[j]<<" ";
}
}
//Separation 2
}
//Separation 1
}
}