时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
华黎卡有一个长度为

的神秘排列

。记

,如果对于所有的

,

都能被

整除,那么排列

被称为
好排列。
要判断一个排列是不是
好排列 实在是太容易了,华黎卡可不会喜欢做这么容易的事,所以华黎卡专门为你出了另外一个问题:
给定一个正整数

,你需要构造一个长度为

的排列

,使得这个排列是
好排列。你需要判断这样的排列是否存在。另外地,如果这样的排列存在,请输出任意一个满足条件的排列。
输入描述:
第一行包含一个整数
(
) ,表示测试用例的组数。
接下来
行,每行包含一个整数
(
),表示你需要构造的排列的长度。
数据保证所有测试用例中
的总和不超过
。
输出描述:
对于每组测试数据,输出一个字符串,表示能否构造出这样的排列。如果能,输出
,否则输出
。
如果能构造出这样的排列,请在第二行输出任意一个满足条件的排列。
请注意,答案的输出区分大小写。
示例1
输出
复制
YES
1
YES
2 1 3
YES
3 1 4 2