num = int(input())
numList = []
numStore = []
keyNum = []
tempNumMax = 0
numList.append(input().split())
numList = numList[0]
for i in range (num) :
if int(numList[i]) != 1:
if numList[i] not in numStore:
temp = int(numList[i])
while temp != 1:
if temp%2 ==0 :
temp = int(temp/2)
numStore.append(temp)
else :
temp = int((temp*3+1)/2)
numStore.append(temp)
else:
keyNum.append('1')
for i in range(num):
if int(numList[i]) not in numStore:
keyNum.append(numList[i])
for i in range(len(keyNum)-1):
for j in range(i,len(keyNum)):
if keyNum[i] >keyNum[j]:
tempNumMax = keyNum[j]
keyNum[j] = keyNum[i]
keyNum[i] = tempNumMax
print (int(keyNum[0]),end='')
for i in range(1,len(keyNum)):
print(' ',end='')
print(int(keyNum[i]),end='')
exit(0)
19分,emmm又是一道不知道错在哪的题