time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
You are given a positive integer nn.
The weight of a permutation p1,p2,…,pnp1,p2,…,pn is the number of indices 1≤i≤n1≤i≤n such that ii divides pipi. Find a permutation p1,p2,…,pnp1,p2,…,pn with the minimum possible weight (among all permutations of length nn).
A permutation is an array consisting of nn distinct integers from 11 to nn in arbitrary order. For example, [2,3,1,5,4][2,3,1,5,4] is a permutation, but [1,2,2][1,2,2] is not a permutation (22 appears twice in the array) and [1,3,4][1,3,4] is also not a permutation (n=3n=3 but there is 44 in the array).
Input
Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1041≤t≤104). The description of the test cases follows.
The only line of each test case contains a single integer nn (1≤n≤1051≤n≤105) — the length of permutation.
It is guaranteed that the sum of nn over all test cases does not exceed 105105.
Output
For each test case, print a line containing nn integers p1,p2,…,pnp1,p2,…,pn so that the permutation pp has the minimum possible weight.
If there are several possible answers, you can print any of them.
Example
input
Copy
2
1
4
output
Copy
1 2 1 4 3
Note
In the first test case, the only valid permutation is p=[1]p=[1]. Its weight is 11.
In the second test case, one possible answer is the permutation p=[2,1,4,3]p=[2,1,4,3]. One can check that 11 divides p1p1 and ii does not divide pipi for i=2,3,4i=2,3,4, so the weight of this permutation is 11. It is impossible to find a permutation of length 44 with a strictly smaller weight.
解题说明:水题,只需要找出一种结果,把n放到最前面即可。
- #include
-
- int main()
- {
- int tc;
- scanf("%d", &tc);
- while (tc--)
- {
- int n;
- scanf("%d", &n);
- printf("%d", n);
- for (int i = 1; i < n; i++)
- {
- printf(" %d", i);
- }
- printf("\n");
- }
- return 0;
- }