#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
****************************************************************/