Tweetuzki 爱序列

题目背景

本题为改编题

题目描述

Tweetuzki 有一个长度为 $n$ 的序列 $a_1, a_2, \cdots, a_n$。 他希望找出一个最大的 $k$,满足在原序列中存在一些数 $b_1, b_2, \cdots, b_k$(可打散在原序列中的顺序),满足对于任意的 $i(1 \le i < k)$,$b_i \div 3 = b_{i+1}$(这时 $b_i$ 必须能够被 $3$ 整除)或 $b_i \times 2 = b_{i+1}$。并输出这个序列。

输入输出格式

输入格式


第一行一个正整数 $n(2 \le n \le 10^5)$,表示序列的长度。 第二行包含 $n$ 个正整数,$a_1, a_2, \cdots, a_n(1 \le a_i \le 3 \times 10^{18})$,描述这个数列。

输出格式


第一行一个正整数 $k$,表示最大的 $k$。 第二行 $k$ 个正整数 $b_1, b_2, \cdots, b_n$,描述你选择的数。

输入输出样例

输入样例 #1

6
4 8 6 3 12 9

输出样例 #1

6
9 3 6 12 4 8 

输入样例 #2

4
42 28 84 126

输出样例 #2

4
126 42 84 28 

输入样例 #3

5
4 8 16 12 24

输出样例 #3

4
12 24 8 16

说明

**_Subtask_ #1 _(20 points)_:$2 \le n \le 8$;** **_Subtask_ #2 _(30 points)_:$2 \le n \le 100, 1 \le a_i \le 7 \times 10^8$;** **_Subtask_ #3 _(20 points)_:$2 \le n \le 1000, 1 \le a_i \le 1000$;** **_Subtask_ #4 _(30 points)_:$2 \le n \le 10^5, 1 \le a_i \le 3 \times 10^{18}$。**