CF977D Divide by three, multiply by two

题目描述

有一个长度为 $n$ 的数列 $a_i$,要求你将这个数列重排成一个排列 $p_i$,使得对于任意的 $p_i(1 \le i < n)$: - $p_i \times 2 = p_{i+1}$,或者 - 当 $p_i$ 可以被 $3$ 整除时,$p_i \div 3 = p_{i+1}$。 保证答案存在。

输入格式

输入包含两行。 第一行一个整数 $n(2 \le n \le 100)$,表示数列中的元素个数。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n (1 \le a_i \le 10^{18})$,描述这个数列。

输出格式

输出应包含 $n$ 个整数 $p_1, p_2, \dots, p_n$,表示你的答案。

说明/提示

在第一个样例中,一种可能的合法排列为 $[9,3,6,12,4,8]$。