#include <iostream>
#include <stack>
using namespace std;

int main(){
	int n;
	int omori[10];
	omori[0] = 1;
	for(int i = 1; i < 10; i++){
		omori[i] = omori[i-1]*2;
	}
	while(cin >> n){
		int k = 0;
		stack<int> st;
		for(int i = 9; i >=0; i--){
			if(omori[i] <= n){
				st.push(omori[i]);
				n = n - omori[i];
				k++;
			}
		}
		cout << st.top();
		st.pop();
		for(int i = 1; i < k; i++){
			cout << " " << st.top();
			st.pop();
		}
		cout << endl;
	}
}