#include<stdio.h>
#include<math.h>
int main()
{
int a[20]={0};//标记是否包含2^n
int n,i=0;
scanf("%d",&n);
if(n%2==1)//奇数势必不合题
{
i=1;
goto loop;
}
int j;
for(j=19;j>0;j--)
{
if(n>=pow(2,j))
{
a[j]=1;
n=n-pow(2,j);
}
if(j==1 && n>0)
{
i=1;
goto loop;
}
}
loop:
if(i)
printf("%d",-1);
else
{
for(j=19;j>0;j--)
{
if(a[j])
printf("%.0f ",pow(2,j));//pow函数返回值是浮点数,用%d会报错
}
}
return 0;
}