#SummerP0101. 异贪构思

异贪构思

Description

本题知识点为异或,贪心,构造,思维。

给定一个正整数 nn 与非负整数 kk,尝试构造一个长度为 nn 的排列1^1 pp,使得 f(i)=mex(p0,p1,,pi)f(i) = \operatorname{mex}(p_0,p_1,\cdots,p_i)2^2满足 f(0)f(1)f(n1)=kf(0)\oplus f(1)\oplus \cdots \oplus f(n-1) = k

*1^1长度为 nn 的排列 pp 就是把 00n1n-1nn 个整数按任意顺序排成的一个序列,每个数字恰好出现一次。

*2^2定义一个集合 S 的 MEX(Minimal Excludant) 表示一个非负整数集合中,"最小的"、"没有出现过"的非负整数。数学上定义为 $$\operatorname{mex}(S) = \min{ x\in \mathbb{N} \mid x\notin S }$$例如 mex({0,1,2,3,3,4,7,8})=5\operatorname{mex}(\{ 0,1,2,3,3,4,7,8 \}) = 5

Format

Input

本题包含多个测试数据,第一行包含一个整数 TT 满足 1T1×1041\leq T\leq 1\times 10^4,表示测试数据组数。

接下来 TT 行每行包含两个空格隔开的整数 n,kn,k,满足 $1\leq n\leq 2\times 1\times10^5,0\leq k\leq 1\times10^9$。

保证所有测试数据的 nn 的总和不超过 2×1052\times 10^5

Output

对于每一组测试用例,若不存在这样的排列,仅需输出一行NO\texttt{NO}

否则,其第一行输出 YES\texttt{YES},第二行输出你的构造排列 pp

答案请严格区分大小写输出,构造方案不唯一,仅需输出一个构造结果。

Samples

3
1 0
9 12
5 1
NO
YES
2 3 5 6 7 8 0 1 4
YES
1 2 3 0 4

Note

在第三组测试用例中,根据给出的构造方案:

  1. f(0)=mex([3])=0f(0)=\operatorname{mex}([3])=0,
  2. f(1)=mex([3,0])=1f(1)=\operatorname{mex}([3,0])=1,
  3. f(2)=mex([3,0,2])=1f(2)=\operatorname{mex}([3,0,2])=1,
  4. f(3)=mex([3,0,2,1])=4f(3)=\operatorname{mex}([3,0,2,1])=4,
  5. f(4)=mex([3,0,2,1,4])=5f(4)=\operatorname{mex}([3,0,2,1,4])=5,

所以 $f(0)\oplus f(1)\oplus f(2)\oplus f(3)\oplus f(4)=0\oplus 1\oplus 1\oplus 4\oplus5=1=k$。所以序列 [3,0,2,1,4][ 3,0,2,1,4 ] 是合法解。