Rikka with Subset

Time Limit: 2000/1000 MS (Java/Others)

Memory Limit: 65536/65536 K (Java/Others)

Description

As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them:

Yuta has $n$ positive $A_1-A_n$ and their sum is $m$. Then for each subset $S$ of $A$, Yuta calculates the sum of $S$.

Now, Yuta has got $2^n$ numbers between $[0,m]$. For each $i \in [0,m]$, he counts the number of $i$s he got as $B_i$.

Yuta shows Rikka the array $B_i$ and he wants Rikka to restore $A_1-A_n$.

It is too difficult for Rikka. Can you help her?  

Input

The first line contains a number $t(1 \leq t \leq 70)$, the number of the testcases.

For each testcase, the first line contains two numbers $n,m(1 \leq n \leq 50,1 \leq m \leq 10^4)$.

The second line contains $m+1$ numbers $B_0-B_m(0 \leq B_i \leq 2^n)$.

Output

For each testcase, print a single line with $n$ numbers $A_1-A_n$.

It is guaranteed that there exists at least one solution. And if there are different solutions, print the lexicographic minimum one.

Sample Input

2 2 3 1 1 1 1 3 3 1 3 3 1

Sample Output

1 2 1 1 1
Hint
In the first sample, $A$ is $[1,2]$. $A$ has four subsets $[],[1],[2],[1,2]$ and the sums of each subset are $0,1,2,3$. So $B=[1,1,1,1]$

Hint

liuyiding

Source

2017 Multi-University Training Contest - Te

提交代码