U736579 H - 比利吋小子 正在和 籽山民先生 闹矛盾,,,
题目背景
比利时小子最近正在和籽岷先生闹矛盾。
籽岷先生在播报博客中说道:
“你和其他的 CC 孩子有矛盾吗?”
“是的。”
“你有吗?”
“那么,你认为谁才是 MCGame 真正的代表?”
“Mr.籽岷?”
“还是比利时 KID?”
为了分出胜负,比利时小子决定和籽岷先生进行一场关于排列的激情决斗。
题目描述
给定一个正整数 $n$。
一个长度为 $n$ 的排列 $p$ 被称为 **完美排列**,当且仅当对于每一个 $1\le i\le n$,其前 $i$ 个元素之和
$$
p_1+p_2+\cdots+p_i
$$
都 **不是完全平方数**。
请你构造一个长度为 $n$ 的完美排列。
如果不存在这样的排列,输出 `-1`。
一个长度为 $n$ 的排列是由 $1$ 到 $n$ 这 $n$ 个不同整数恰好各出现一次组成的序列。
完全平方数是某个整数的平方,例如 $9=3^2$ 是完全平方数,而 $8,14$ 都不是完全平方数。
输入格式
第一行输入一个整数 $T$,表示测试数据组数。
接下来 $T$ 行,每行输入一个正整数 $n$,表示需要构造的排列长度。
输出格式
对于每组测试数据:
如果不存在长度为 $n$ 的完美排列,输出一行 `-1`。
否则输出一行 $n$ 个整数 $p_1,p_2,\ldots,p_n$,表示你构造出的一个完美排列。
如果存在多种合法答案,输出任意一种即可。
说明/提示
#### **样例解释**
对于第三组数据,$n=3$,构造出的排列为
2 1 3
其各个前缀和分别为
$$
2,\ 3,\ 6.
$$
它们都不是完全平方数,因此该排列是一个合法的完美排列。
#### **数据范围**
对于所有测试数据,保证:
$$
1\le T\le 10^4,
$$
$$
1\le n\le 5\times 10^5,
$$
且所有测试数据中的 $n$ 之和不超过
$$
5\times 10^5.
$$
详细的子任务限制如下:
| 子任务 | 分值 | 特殊性质 |
| :-: | :----: | :----------------------- |
| 1 | $20$ 分 | $n\le 10$ |
| 2 | $20$ 分 | $\dfrac{n(n+1)}2$ 为完全平方数 |
| 3 | $60$ 分 | 无特殊限制 |