Alice 曾经有一个序列 $a_1, \dots, a_n$,但她现在已经忘记了。幸运的是,她注意到她计算了该序列每个非空子序列的异或和,得到了 $2^n - 1$ 个结果,但它们的顺序被打乱了。
现在她希望你能帮她恢复这个序列。如果存在多个可能的序列,请告诉她字典序最小的那个序列;如果不存在正确的序列,请报告无解。
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 5000$),表示测试用例的数量。 对于每个测试用例,第一行包含一个整数 $n$ ($1 \le n \le 18$)。 下一行包含 $2^n - 1$ 个小于 $2^{30}$ 的非负整数,表示异或和的结果。 保证所有测试用例的 $2^n$ 之和不超过 $2^{20}$。
输出格式
对于每个测试用例,输出一行。如果不存在正确的序列,输出 $-1$;否则,输出 $n$ 个整数表示答案。
样例
样例输入 1
3 3 1 2 3 4 5 6 7 3 1 0 1 0 1 0 1 3 1 2 3 4 5 6 6
样例输出 1
1 2 4 0 0 1 -1