B. Математический цирк
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Бурятии появилось новое развлечение — математический цирк! Фокусник показывает зрителям два числа — $$$n$$$ и $$$k$$$, где $$$n$$$ — чётное. Далее он берёт все числа от $$$1$$$ до $$$n$$$ и разбивает их все на пары $$$(a, b)$$$ (каждое число должно оказаться ровно в одной паре) так, чтобы для каждой пары число $$$(a + k) \cdot b$$$ делилось на $$$4$$$ (обратите внимание, что порядок чисел в паре имеет значение), или сообщает, что, к сожалению для зрителей, такое разбиение невозможно.

Бурёнке очень нравятся такие представления, поэтому она попросила своего друга Тоню побыть фокусником, а также дала ему числа $$$n$$$ и $$$k$$$.

Тоня — волк, а как известно, волки в цирке не выступают, даже в математическом. Поэтому он просит вас помочь ему. Сообщите, возможно ли подходящее разбиение на пары, и если возможно, то сообщите его.

Входные данные

Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Единственная строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$2 \leq n \leq 2 \cdot 10^5$$$, $$$0 \leq k \leq 10^9$$$, $$$n$$$ — чётное) — количество чисел и прибавляемое число $$$k$$$.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

Выходные данные

Для каждого набора входных данных сначала выведите строку «YES», если разбиение на пары существует, и «NO», если его нет.

Если разбиение существует, то в следующих $$$\frac{n}{2}$$$ строках выведите пары разбиения, в каждой строке по $$$2$$$ числа — сначала очередное число $$$a$$$, потом число $$$b$$$.

Пример
Входные данные
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
Примечание

В первом наборе входных данных разбиение на пары $$$(1, 2)$$$ и $$$(3, 4)$$$ подходит, как и разбиение $$$(1, 4)$$$ и $$$(3, 2)$$$.

Во втором наборе входных данных $$$(1 + 0) \cdot 2 = 1 \cdot (2 + 0) = 2$$$ не делится на $$$4$$$, поэтому разбиения нет.