#include <stdio.h>
#include <string.h>
int main()
{
//几组数据
int K;
scanf("%d",&K);
//输入的数据转换到数组的下标
int ask[101]={0};
int i;
for(i=1; i<K; i++){
int temp;
scanf("%d",&temp);
ask[temp]=1;
}
//判断(3n+1)并找出关键数
for(i=1; i<101;i++){
if(ask[i]){
//判断这个下标是不是读入的数字
int j = i;//把下标提取出来
while(j>1){
//判断奇偶,做出下一步
if(j%2) j=(3*j+1);//奇数
else j=j/2;//偶数
//清楚能被覆盖的数
if(j<101&&ask[j]){
ask[j]=0;//清楚
K--; //待验证的个数减一
if(j<i) break;//小于i得数之前已经被检验过了,跳出
}
}
}
}
//输出关键数按照从大到小
for(i=100;i>0;i--){
if(ask[i]==1){
// 这个地方不会,直接抄了
printf("%d%c",i,--K?' ':'\0');
}
}
return 0;
}