#P5080. Tweetuzki 爱序列

Tweetuzki 爱序列

背景

本题为改编题

题目描述

Tweetuzki 有一个长度为 nn 的序列 a1,a2,⋯ ,ana_1, a_2, \cdots, a_n。

他希望找出一个最大的 kk,满足在原序列中存在一些数 b1,b2,⋯ ,bkb_1, b_2, \cdots, b_k(可打散在原序列中的顺序),满足对于任意的 i(1≤i<k)i(1 \le i < k),bi÷3=bi+1b_i \div 3 = b_{i+1}(这时 bib_i 必须能够被 33 整除)或 bi×2=bi+1b_i \times 2 = b_{i+1}。并输出这个序列。

输入格式

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

输出格式

第一行一个正整数 kk,表示最大的 kk。
第二行 kk 个正整数 b1,b2,⋯ ,bnb_1, b_2, \cdots, b_n,描述你选择的数。

6
4 8 6 3 12 9

6
9 3 6 12 4 8 

4
42 28 84 126

4
126 42 84 28 

5
4 8 16 12 24
4
12 24 8 16

提示

Subtask #1 (20 points):2≤n≤82 \le n \le 8;
Subtask #2 (30 points):2≤n≤100,1≤ai≤7×1082 \le n \le 100, 1 \le a_i \le 7 \times 10^8;
Subtask #3 (20 points):2≤n≤1000,1≤ai≤10002 \le n \le 1000, 1 \le a_i \le 1000;
Subtask #4 (30 points):2≤n≤105,1≤ai≤3×10182 \le n \le 10^5, 1 \le a_i \le 3 \times 10^{18}。