#include
#define N 1000
#include
void IniliB(bool * b, int n)
{
int i;
for(i = 0;i<n;i++)
{
b[i] = false;
}
}
void Print_1(int *key, int n)
{
int i;
for(i = 0;i<n;i++)
{
printf("%d", key[i]);
if(i!= n-1)
{
printf(" ");
}
}
}
void Rank_1(int *key, int n)
{
int i, j, t;
for(i = 0;i<n-1;i++)
{
for(j = 0;j<n-i-1;j++)
{
if(key[i]<key[i+1])
{
t = key[i];
key[i] = key[i+1];
key[i+1] = t;
}
}
}
}
int main()
{
int a[100], key[N], i, k ,n;
bool b[N];
int j = 0;
scanf("%d", &n);
IniliB(b, N);
for(i= 0;i<n;i++)
{
scanf("%d", &a[i]);
}
for(i = 0;i<n;i++)
{
k = a[i];
while(k!=1)
{
if(k%2 == 0)
{
k /= 2;
}
else
{
k = (3*k + 1)/2;
}
b[k] = true;
}
}
for(i = 0;i<n;i++)
{
if(b[a[i]] == false)
{
key[j] = a[i];
j++;
}
}
Rank_1(key, j);
Print_1(key, j);
return 0;
}