| Codeforces Round 1023 (Div. 2) |
|---|
| Закончено |
Если бы меня ударило яблоко, падающее с яблони, смогла бы я стать так же хороша в физике, как Ньютон?
Чтобы стать лучше в физике, Айн хочет построить яблоню, чтобы на неё могли падать яблоки. Её яблоня имеет $$$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)$$$.
52 12 24 05 75 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$$$.
| Название |
|---|


