题目描述
置换就是 n 个元素 1 对 1 的函数映射p:{1,2,…,n}→{1,2,…,n},一个置换 p 的 order
等于最小的 k≥1,且对所以的 i=1,2,...,n 都满足:
p(p(...(p(i))...))=i
(共 k 次)
举个例子,对于 3 个元素的 order
p(1)=3,p(2)=2,p(3)=1 为 2,因为p(p(1))=1,p(p(2))=2,p(p(3))=3。
对于给定的 n 我们想要一个长度为 n 的置换的 order
尽量大。比如说长度为 5 的置换的 order 最大为 6。
一个例子就是 p(1)=4,p(2)=5,p(3)=2,p(4)=1,p(5)=3。
对于所有使得 order
最大的置换中,我们要找到字典序最小的那个。
更精确来说,我们说置换 p 小于置换 r,即存在一个 i,使得对于所有 j<i 都满足 p(j)=r(j) 且 p(i)<r(i)。那么对于长度为 5 的置换中最小的那个为 p(1)=2,p(2)=1,p(3)=4,p(4)=5,p(5)=3。
输入格式
第一行一个数 d 表示一共 d 组数据。
接下来 d 行表示长度为 n1,n2,...,nd。
输出格式
输出 d 行每行一个最优置换。
2
5
14
2 1 4 5 3
2 3 1 5 6 7 4 9 10 11 12 13 14 8
提示
对于 100% 的数据,1≤d≤10,1≤ni≤104。