小红选数
题号:NC317576
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}小红有一个长为 n 的数组 a,现在他想从中选恰好 k 个数,使得这 k 个数的乘积的二进制表示中,末尾的 0 尽可能多。
\hspace{15pt}请你帮他找出一种可能的选数方案。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^4\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入两个整数 n,k \left(1 \leqq k \leqq n \leqq 2 \times 10^5 \right)
\hspace{15pt}第二行输入 n 个整数 a_i \left(1 \leqq a_i \leqq 10^9 \right)

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

\hspace{15pt}对于每组测试数据,新起一行。

\hspace{15pt}输出 k 个整数,代表你选择的数。

\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
2
6 3
1 1 4 5 1 4
6 3
1 9 1 9 8 1

输出

复制
4 5 4
9 8 9