{"raw_statement":[{"iden":"background","content":"$\\texttt{id: 4d7e}$\n\n小 H 在课堂上学习了异或运算。\n\n对于两个非负整数 $x,y$，它们的**异或**是指，将它们作为二进制数，对二进制表示中的每一位进行如下运算得到的结果：\n\n- $x$ 和 $y$ 的这一位上不同时，结果的这一位为 $1$；\n- $x$ 和 $y$ 的这一位上相同时，结果的这一位为 $0$。\n\n$x$ 和 $y$ 的异或被记为 $x \\operatorname{xor} y$ 或 $x \\oplus y$。\n\n在 C++ 中，你可以用 `x ^ y` 得到 $x$ 与 $y$ 的异或值。\n\n另外，若干个数的异或称之为**异或和**。"},{"iden":"statement","content":"小 H 还了解到，一个长度为 $n$ 的数列 $a$ 的**异或积**是一个等长的数列 $b$，其中 $b_i$ 等于数列 $a$ 中除了 $a_i$ 以外其他元素的异或和，即\n\t\n$$b_i = \\bigoplus \\limits_{j = 1}^{n} [j\\ne i] a_j$$\n\t\n例如，数列 $\\{1, 2, 3, 4\\}$ 的异或积为 $\\{5, 6, 7, 0\\}$。\n\t\n**异或积变换**是指将一个数列用它的异或积替换的过程，由于异或积变换之后数列长度不变，所以异或积变换可以连续进行多次。\n\t\n现在，小 H 有一个长度为 $n$ 的数列 $a$，他想请你帮他计算出 $a$ 经过 $k$ 次异或积变换之后得到的序列。"},{"iden":"input","content":"**本题单个测试点内有多组测试数据**。\n\n第一行一个整数 $T$，表示测试数据组数。\n\t\n对于每一组测试数据：\n\t\n第一行两个整数 $n,k$。\n\t\n第二行 $n$ 个整数 $a_1,a_2,\\cdots,a_n$。"},{"iden":"output","content":"对于每一组测试数据：\n\t\n一行 $n$ 个整数，表示数列 $a$ 经过 $k$ 次异或积变换之后得到的数列。"},{"iden":"note","content":"### 样例 1 解释\n\n此样例即为题目描述中的例子。\n\n### 样例 2 解释\n\n第 $1$ 次异或积变换：$\\{0,0,0,1\\}\\to\\{1,1,1,0\\}$；\n\n第 $2$ 次异或积变换：$\\{1,1,1,0\\}\\to\\{0,0,0,1\\}$。\n\n### 数据规模与约定\n\n对于 $100\\%$ 的测试数据，$1 \\le T \\le 10$，$2 \\le n \\le 10^5$，$1 \\le k \\le 10^{18}$，$0 \\le a_i < 2^{32}$。\n\n| 测试点编号 | $n\\leq$  | $k \\leq$  |特殊性质|\n| :----------: | :----------: | :----------: | :-----------: |\n| $1 \\sim 3$ | $100$ | $100$ | |\n| $4 \\sim 5$ | $1000$ | $1000$ | |\n| $6 \\sim 7$ | $3$ | $10^{18}$ | |\n| $8 \\sim 10$ | $10^5$ | $3$ | |\n| $11 \\sim 13$ | $10^5$ | $10^{18}$ | $a$ 中所有数的异或和为 $0$ |\n| $14 \\sim 15$ | $10^5$ | $10^{18}$ | $n$ 为奇数 |\n| $16 \\sim 17$ | $10^5$ | $10^{18}$ | $n$ 为偶数 |\n| $18 \\sim 20$ | $10^5$ | $10^{18}$ | |\n\n### 提示\n\n在 C++ 中，对于数据范围 $0\\le x<2^{32}$，你可以：\n\n- 使用 `unsigned int x` 来定义；\n- 使用 `cin >> x` 或 `scanf(\"%u\", &x)` 来输入；\n- 使用 `cout << x` 或 `printf(\"%u\", x)` 来输出。 "}],"translated_statement":null,"sample_group":[["1\n4 1\n1 2 3 4","5 6 7 0"],["1\n4 2\n0 0 0 1","0 0 0 1"],["见附件中的 samples/xor3.in","见附件中的 samples/xor3.ans"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}