CF1719B.Mathematical Circus

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

Mathematical Circus

A new entertainment has appeared in Buryatia — a mathematical circus! The magician shows two numbers to the audience — nn and kk, where nn is even. Next, he takes all the integers from 11 to nn, and splits them all into pairs (a,b)(a, b) (each integer must be in exactly one pair) so that for each pair the integer (a+k)b(a + k) \cdot b is divisible by 44 (note that the order of the numbers in the pair matters), or reports that, unfortunately for viewers, such a split is impossible.

Burenka really likes such performances, so she asked her friend Tonya to be a magician, and also gave him the numbers nn and kk.

Tonya is a wolf, and as you know, wolves do not perform in the circus, even in a mathematical one. Therefore, he asks you to help him. Let him know if a suitable splitting into pairs is possible, and if possible, then tell it.

Input

The first line contains one integer tt (1t1041 \leq t \leq 10^4) — the number of test cases. The following is a description of the input data sets.

The single line of each test case contains two integers nn and kk (2n21052 \leq n \leq 2 \cdot 10^5, 0k1090 \leq k \leq 10^9, nn is even) — the number of integers and the number being added kk.

It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case, first output the string "YES" if there is a split into pairs, and "NO" if there is none.

If there is a split, then in the following n2\frac{n}{2} lines output pairs of the split, in each line print 22 numbers — first the integer aa, then the integer bb.

Note

In the first test case, splitting into pairs (1,2)(1, 2) and (3,4)(3, 4) is suitable, same as splitting into (1,4)(1, 4) and (3,2)(3, 2).

In the second test case, (1+0)2=1(2+0)=2(1 + 0) \cdot 2 = 1 \cdot (2 + 0) = 2 is not divisible by 44, so there is no partition.

Samples

4
4 1
2 0
12 10
14 11
YES
1 2
3 4
NO
YES
3 4
7 8
11 12
2 1
6 5
10 9
YES
1 2
3 4
5 6
7 8
9 10
11 12
13 14

在线编程 IDE

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