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]$。