奇素数回路
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}Saki 她,她,她编不下去了QAQ,所以决定奖励看到最后的同学一个做出练习赛F题的机会(大概)。
\hspace{15pt}Saki 认为排列具有美感,素数也具有美感(2除外,因为素数中只有2一个偶数,我们素数中出了一个叛徒),所以想构造一个充满美感的环形数组。
\hspace{15pt}顺带一提简短的题面也有美感。
\hspace{15pt}给定偶数 n,构造一个由 1 \sim nn 个不同的整数构成环形数组 a,使得相邻两项的差均为奇素数

\hspace{15pt}奇素数是指除了 2 以外的素数,最小的四个奇素数是 3,5,7,11

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leq T\leq 10^5\right) 代表数据组数,每组测试数据描述如下:
\hspace{15pt}在一行上输入一个偶数 n\left(2\leq n\leq 10^5\right)

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

\hspace{15pt}对于每一组测试数据,新起一行。如果不存在合法的环形数组,直接输出 -1。否则,输出 n 个整数,表示构造的环形数组 a

\hspace{15pt}你需要保证数组 a 是一个由 1 \sim nn 个不同的整数组成的数组,下标从 0 开始,满足任取 0 \leq i < n\lvert a_i-a_{(i+1)\bmod n} \rvert 均为奇素数。
示例1

输入

复制
2
8
12

输出

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

说明