D. Increasing A and Decreasing B
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

You're given two integers $$$n$$$ and $$$x$$$.

Your task is to construct an array $$$a$$$ of size $$$n$$$ with non-negative integers,which satisfies:

  1. $$$a_1=x$$$;
  2. $$$a_i \lt 2^{30}(1 \leq i \leq n)$$$;
  3. $$$a$$$ is strictly increasing;
  4. note $$$b_i=a_i \oplus a_{i+1}(1 \leq i \leq n-1)$$$, $$$b$$$ is strictly decreasing.Here $$$\oplus$$$ means bitwise-xor.

If no solution,print $$$-1$$$ instead.

Input

The first line of input will contain a single integer $$$t(1 \leq t \leq 10^5)$$$, denoting the number of test cases.

Each test case consists of a line of input.The only line of each test case contains two integers $$$n,x(3 \leq n \leq 10^5,0 \leq x \leq 2^{30}-1)$$$.

The sum of $$$n$$$ will not exceed $$$10^5$$$.

Output

For each test case, output on a new line:

If no solution,print $$$-1$$$;

Otherwise,print $$$n$$$ integers:$$$a_1,a_2,...,a_n$$$.

Example
Input
2
3 1
3 1073741823
Output
1 2 3
-1
Note

Test case $$$1$$$:

Obviously,$$$a$$$ is strictly increasing. And $$$b_1=a_1 \oplus a_2=1 \oplus 2=3$$$,$$$b_2=a_2 \oplus a_3=2 \oplus 3=1$$$,$$$b=[3,1]$$$ is strictly decreasing.

Test case $$$2$$$:

Since $$$a_2$$$ must be smaller than $$$2^{30}$$$ and $$$a_1$$$ is already $$$2^{30}-1$$$,no solution.