E. Айн и яблоня
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Если бы меня ударило яблоко, падающее с яблони, смогла бы я стать так же хороша в физике, как Ньютон?

Чтобы стать лучше в физике, Айн хочет построить яблоню, чтобы на неё могли падать яблоки. Её яблоня имеет $$$n$$$ вершин и корень в вершине $$$1$$$. Она определяет вес яблони как $$$\sum \limits_{i=1}^n \sum \limits_{j=i+1}^n \text{dep}(\operatorname{lca}(i,j))$$$.

Здесь $$$\text{dep}(x)$$$ определяется как количество рёбер на уникальном кратчайшем пути от вершины $$$1$$$ до вершины $$$x$$$. $$$\operatorname{lca}(i, j)$$$ определяется как вершина $$$x$$$ с наибольшим значением $$$\text{dep}(x)$$$, которая присутствует на обоих путях $$$(1, i)$$$ и $$$(1, j)$$$.

Из некоторых старых книг, которые читает Айн, она знает, что вес яблони Ньютона составляет около $$$k$$$, но точное значение потеряно.

Как друг Айн, вы хотите построить для неё яблоню с $$$n$$$ вершинами, и абсолютная разница между весом вашей яблони и $$$k$$$ должна быть не более $$$1$$$, т.е. $$$|\text{weight} - k| \le 1$$$. К сожалению, это не всегда возможно, в этом случае, пожалуйста, сообщите об этом.

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

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

Первая строка каждого набора входных данных содержит два числа $$$n,k$$$ ($$$2 \le n \le 10^5,0 \le k \le 10^{15}$$$).

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

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

Для каждого набора входных данных в первой строке выведите $$$\texttt{Yes}$$$, если решение существует, или $$$\texttt{No}$$$, если решения не существует. Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки $$$\texttt{YES}$$$ и $$$\texttt{yEs}$$$ будут приняты как положительный ответ.

Если существует хотя бы одно решение, выведите $$$n-1$$$ строк, представляющие яблоню. Каждая строка должна содержать два числа $$$u,v$$$ $$$(1 \le u,v \le n)$$$.

Пример
Входные данные
5
2 1
2 2
4 0
5 7
5 5
Выходные данные
Yes
1 2
No
Yes
1 2
1 3
1 4
Yes
1 3
3 5
4 5
3 2
Yes
1 2
2 3
2 4
2 5
Примечание

В первом наборе входных данных мы можем проверить, что вес равен $$$0$$$. Это удовлетворяет условию, потому что $$$k = 1$$$, и абсолютная разница составляет $$$1$$$.

Во втором наборе входных данных решения не существует, потому что нет деревьев из $$$2$$$ вершин с весами $$$1, 2$$$ или $$$3$$$.