1 #include
2 using namespace std;
3 #define ll long long
4 const int maxn=100+50;
5
6 int n;
7 ll a[maxn];
8 mapbool>f;
9
10 void Solve()
11 {
12 ll x=a[1];
13 while(true)///找到x
14 {
15 if(f.count(x*3))
16 x *= 3;
17 else if(!(x&1) && f.count(x/2))
18 x /= 2;
19 else
20 break;
21 }
22 printf("%lld",x);///由x开始依次向后推
23 for(int i=2;i <= n;++i)
24 {
25 if(f.count(x*2))
26 x *= 2;
27 else
28 x /= 3;
29 printf(" %lld",x);
30 }
31 printf("\n");
32 }
33 int main()
34 {
35 scanf("%d",&n);
36 for(int i=1;i <= n;++i)
37 {
38 scanf("%lld",a+i);
39 f[a[i]]=true;
40 }
41 Solve();
42
43 return 0;
44 }