[POI2004] MAK

题目描述

置换就是 $n$ 个元素 $1$ 对 $1$ 的函数映射$p:\{1,2,\ldots,n\}\to\{1,2,\ldots,n\}$,一个置换 $p$ 的 `order` 等于最小的 $k\ge1$,且对所以的 $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$ 行表示长度为 $n_1,n_2,...,n_d$。

输出格式


输出 $d$ 行每行一个最优置换。

输入输出样例

输入样例 #1

2
5
14

输出样例 #1

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

说明

对于 $100\%$ 的数据,$1\le d\le10$,$1\le n_i\le10^4$。