#CF2147B. 多重构造

多重构造

B. 多重构造
每次测试时间限制:11
每次测试内存限制:256256 兆字节


给定一个整数 nn。你需要构造一个长度为 2n2 \cdot n 的数组,满足:

  • 每个整数 11nn 在数组中恰好出现两次。
  • 对于每个整数 xx1xn1 \le x \le n),它的两次出现之间的距离是 xx 的倍数。
    换句话说,如果 pxp_xqxq_xxx 出现的两个位置,则 qxpx|q_x - p_x| 必须能被 xx 整除。

可以证明,解总是存在的。


输入
每个测试包含多个测试用例。第一行包含测试用例的数量 tt1t1041 \le t \le 10^4)。
接下来的 tt 行,每行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5)。
保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5


输出
对于每个测试用例,输出一行包含 2n2 \cdot n 个整数,即满足给定条件的数组。
如果有多个有效答案,输出任意一个即可。


示例

输入:

3
2
3
1

输出:

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

注释

  • 第一个测试用例:
    数字 11 出现在位置 1133:距离为 22,能被 11 整除。
    数字 22 出现在位置 2244:距离为 22,能被 22 整除。
  • 第二个测试用例:
    数字 11 出现在位置 1133:距离为 22,能被 11 整除。
    数字 22 出现在位置 4466:距离为 22,能被 22 整除。
    数字 33 出现在位置 2255:距离为 33,能被 33 整除。
  • 第三个测试用例:
    数字 11 出现在位置 1122,距离为 11,是 11 的倍数。