#include <iostream>
#include <vector>
using namespace std;
// 太小可能无法通过全部用例
#define MAX_SIZE 14000
// 获取关联数字的数组表
// -1表示当前数字为关键字,否则为非关键字
vector<int> get_link_table(vector<int>& nums) {
vector<int> link_table(MAX_SIZE,-1);
for (int i = 0; i < nums.size(); i++) {
int last = nums[i],next;
while (last != 1) {
// KY132 xxx定律要求
if (last & 1)
next = (last * 3 + 1) / 2;
else
next = last / 2;
// 遇到历史访问过的数据立刻跳出循环
if (link_table[next] != -1)
break;
else
link_table[next] = last;
last = next;
}
}
return link_table;
}
int main() {
int length;
while (cin >> length) {
if (length == 0)
break;
vector<int> nums(length),link_table;
for (int i = 0; i < nums.size(); i++)
cin >> nums[i];
link_table = get_link_table(nums);
for (int i = nums.size() - 1; i >= 0; i--) {
if (link_table[nums[i]] == -1)
cout << nums[i] << " ";
}
cout << endl;
}
return 0;
}