CF1630A.And Matching

传统题 时间 2000 ms 内存 256 MiB 8 尝试 1 已通过 1 标签

And Matching

You are given a set of nn (nn is always a power of 22) elements containing all integers 0,1,2,,n10, 1, 2, \ldots, n-1 exactly once.

Find n2\frac{n}{2} pairs of elements such that:

  • Each element in the set is in exactly one pair.
  • The sum over all pairs of the bitwise AND of its elements must be exactly equal to kk. Formally, if aia_i and bib_i are the elements of the ii-th pair, then the following must hold: $$ um_{i=1}^{n/2}{a_i & b_i} = k,$$where&\&denotes the bitwise AND operation.

If there are many solutions, print any of them, if there is no solution, print1-1 instead.</li> </ul>

Input

The input consists of multiple test cases. The first line contains a single integer tt (1t4001 \leq t \leq 400) — the number of test cases. Description of the test cases follows.

Each test case consists of a single line with two integers nn and kk (4n2164 \leq n \leq 2^{16}, nn is a power of 22, 0kn10 \leq k \leq n-1).

The sum of nn over all test cases does not exceed 2162^{16}. All test cases in each individual input will be pairwise different.

Output

For each test case, if there is no solution, print a single line with the integer 1-1.

Otherwise, print n2\frac{n}{2} lines, the ii-th of them must contain aia_i and bib_i, the elements in the ii-th pair.

If there are many solutions, print any of them. Print the pairs and the elements in the pairs in any order.

Note

In the first test, (0&amp;3)+(1&amp;2)=0(0\&amp;3)+(1\&amp;2) = 0.

In the second test, (0&amp;2)+(1&amp;3)=1(0\&amp;2)+(1\&amp;3) = 1.

In the third test, (0&amp;1)+(2&amp;3)=2(0\&amp;1)+(2\&amp;3) = 2.

In the fourth test, there is no solution.

Samples

4
4 0
4 1
4 2
4 3
0 3
1 2
0 2
1 3
0 1
2 3
-1

在线编程 IDE

建议全屏模式获得最佳体验