#CF2123F. 最小化不动点

最小化不动点

F. 最小化不动点
时间限制:3 秒
内存限制:256 兆字节

称一个长度为 nn 的排列 pp^*好的,如果对于所有 2in2 \le i \le n,都有 gcd(pi,i)>1\gcd(p_i, i)^\dagger > 1
在所有长度为 nn 的好排列中,找出一个具有最少不动点^\ddagger 的排列。如果存在多个这样的排列,输出任意一个。

^* 长度为 nn 的排列是一个包含 11nn 每个整数恰好一次的数组。

^\dagger gcd(x,y)\gcd(x, y) 表示 xxyy 的最大公约数。

^\ddagger 排列 pp 的一个不动点是一个下标 jj1jn1 \le j \le n)满足 pj=jp_j = j


输入
第一行包含一个整数 tt1t1041 \le t \le 10^4)—— 测试用例数。

每个测试用例仅一行包含一个整数 nn2n1052 \le n \le 10^5)—— 排列的长度。

保证所有测试用例的 nn 之和不超过 10510^5


输出
对于每个测试用例,输出一行,包含一个长度为 nn 的好排列的示例,该排列具有最少的不动点。


样例
输入

4
2
3
6
13

输出

1 2
1 2 3
1 4 6 2 5 3
1 12 9 6 10 8 7 4 3 5 11 2 13

说明
第三个样例中,构造的排列为:

ii pip_i gcd(pi,i)\gcd(p_i, i)
1
2 4 2
3 6 3
4 2
5
6 3

可见对于所有 2i62 \le i \le 6gcd(pi,i)>1\gcd(p_i, i) > 1。此外,只有两个不动点(1155)。可以证明,对于长度为 66 的好排列,不可能有更少的不动点。