#include<stdio.h>
#include<string>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<vector>
#include<algorithm>
#include<numeric>
#include<string.h>
#include<map>
#include<queue>

using namespace std;

typedef pair<int,int> pii;

#define rep(i,j) for(int i=0;i<(j);i++)
#define reps(i,j,k) for(int i=j;i<=k;i++)
#define in(i,j,k) ((i)>=(j)&&(i)<=(k))


int main(){
	vector<int> a;
	int g,m[10];
	g=1;
	rep(i,10)m[9-i]=g<<i;
	while(~scanf("%d",&g)){
		a.clear();
		rep(i,10)if(m[i]<=g){
			g-=m[i];
			a.push_back(m[i]);
		}
		sort(a.begin(),a.end());
		rep(i,a.size())printf("%d%c",a[i],i<a.size()-1?' ':'\n');
	}
	return 0;
}