#A0076. 排列

排列

题目描述

在 贝尔 校区 tarjanoj,有几个顶级机密的房间,专门用于为大型编程竞赛设计问题。要进入这些房间,必须通过选择正确的密码来解锁一个圆形锁。这组密码每天都会更新。

今天的密码是 11nn 的一个排列,并且具有以下特性:在它的每一个循环移位^{\text{†}} 中,恰好有一个固定点。也就是说,在每次循环移位中,存在恰好一个元素,其值等于它在排列中的位置。

请输出任意一个满足该条件的排列。如果不存在这样的排列,则输出 1-1

^{\text{†}}循环移位:将数组的最后一个元素移动到数组的开头,从而得到一个新的数组。一个长度为 nn 的排列恰好有 nn 个循环移位。

输入格式

本题有多组数据

第一行输入一个整数 tt 代表测试数据组数。

  • 每一组数据唯一一行输入一个整数 nn

输出格式

输出一共输出 tt 行,若当前这一组数据存在一个符合要求的答案,你输出构造的 nn 个数字空格隔开即可。否则输出 1-1

本题存在 SPJ,若存在多个符合要求的排列,任意输出一个即可。

3
4
5
3
-1
4 1 3 5 2
1 3 2

提示

样例解释

在第二个例子中,给定的排列在每次循环移动中都有一个固定点(用暗红色标出):

数据范围

对于 100%100\% 的数据,1t5001\le t\le 5001n21051\leq n\leq 2\cdot 10^5。保证所有数据的 nn 之和不超过 21052\cdot 10^5

  • 子任务 113030 分):n10\sum n\leq 10
  • 子任务 223030 分):nn 是偶数。
  • 子任务 334040 分):没有特殊限制。