#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<map>
#include<string>
#include<fstream>
#include<vector>
#include<functional>
using namespace std;
int main() {
#ifdef LOCAL
freopen("d:\\datain.txt", "r", stdin);
freopen("d:\\dataout.txt", "w", stdout);
#endif LOCAL
int n;
cin >> n;
vector<int> v(n);
int b;
int arr[10000];
fill(arr, arr + 10000, 0);
for (int i = 0; i < n; i++) {
cin >> b;
v[i] = b;
while (b != 1) {
if (b % 2 != 0)
b = b * 3 + 1;
b = b / 2;
arr[b] = 1;
}
}
sort(v.begin(), v.end(), greater<int>());
bool flag = false;
for (int i = 0; i < v.size(); i++) {
if (arr[v[i]] == 0) {
if (flag==true) {
cout << " ";
}
cout << v[i];
flag = true;
}
}
return 0;
}