#include <iostream>
#include <queue>
#include <stack>
#include <vector>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <string>
#include <cmath>
using namespace std;

#define rep(i,n) for(int i=0;i<int(n);++i)

int w;
stack <int> st;

int main(){
	while(cin>>w){
		rep(i,10){
			if(w>=(int)pow(2.0,(double)9-i)){
				w-=(int)pow(2.0,(double)9-i);
				st.push((int)pow(2.0,(double)9-i));
			}
		}
		cout<<st.top();
		st.pop();
		while(!st.empty()){
			cout<<" "<<st.top();
			st.pop();
		}
		cout<<endl;
			
	}
	return 0;
	
}