int main()
{
int n,i,j,k,t,ans;
scanf("%d",&n);
int a[101],b[101],c[101]; //b用來存中途產生的數 ,c用來存關鍵數
int mark[101]={0}; //標記關鍵數
for(i=0;i<n;i++){
scanf("%d",&a[i]);
mark[i]=1;
}
for(i=0;i<n;i++){
ans=0;//統計計算的步數
t=a[i];
while(t!=1){//記錄產生的新數
if(t%2==0){//偶數時
t/=2;
}
else{
t=(3*t+1)/2;//奇數時
}
if(t<101){
b[ans]=t;
ans++;
}
}
for(j=0;j<n;j++){//進行比較
if(mark[j] == 1){
for(k=0;k<ans;k++){
if(a[j]==b[k] && mark[j]==1 ){
mark[j]=0;
break;
}
}
}
}
}
ans=0;//統計關鍵字有多少個
for(i=0;i<n;i++){
if(mark[i] == 1){
c[i]=a[i];
ans++;
}
else
c[i]=0;//不是關鍵字的置爲0
}
for(i=0;i<n;i++){//關鍵字與0從大到小進行排序
for(j=i;j<n;j++){
if(c[i]<c[j]){
t=c[j];
c[j]=c[i];
c[i]=t;
}
}
}
for(i=0;i<ans;i++)//輸出排好序的關鍵字
{
if(i!=0)
printf(" ");
printf("%d",c[i]);
}
}