#CF2107E. 艾因与苹果树

艾因与苹果树

每个测试时间限制:2 秒
每个测试内存限制:256 兆字节


题目描述

如果我也被苹果树上的苹果砸中,我能变得和牛顿一样精通物理吗?

为了更擅长物理,艾因想建造一棵苹果树,这样她就能被树上的苹果砸中。她的苹果树有 nn 个节点,并以节点 11 为根。她定义一棵苹果树的权值为:

$$\sum_{i=1}^{n} \sum_{j=i+1}^{n} \mathrm{dep}\big(\mathrm{lca}(i, j)\big) $$

其中 dep(x)\mathrm{dep}(x) 定义为从节点 11 到节点 xx 的唯一最短路径上的边数。lca(i,j)\mathrm{lca}(i, j) 定义为同时出现在路径 (1,i)(1, i)(1,j)(1, j) 上、且 dep\mathrm{dep} 值最大的唯一节点 xx

从一些旧书中,艾因了解到牛顿的苹果树的权值大约是 kk,但具体数值已经失传。

作为艾因的朋友,你想为她构建一棵有 nn 个节点的苹果树,使得你的树的权值与 kk绝对差不超过 11,即:

weightk1|\text{weight} - k| \le 1

但可惜的是,有时这是不可能做到的,此时请报告无法实现。


输入格式

每个测试包含多个测试用例。
第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。
接下来每个测试用例的格式如下:

  • 第一行包含两个整数 n,kn, k2n1052 \le n \le 10^50k10150 \le k \le 10^{15})。
  • 数据保证所有测试用例的 nn 之和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例:

  • 第一行输出 Yes 如果存在解,否则输出 No。大小写不敏感,例如 YESyEs 也可接受。
  • 如果存在至少一个解,则接下来输出 n1n-1 行,每行包含两个整数 u,vu, v1u,vn1 \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

样例解释

第一个测试用例
我们可以验证这棵树的权值是 00。这满足条件,因为 k=1k = 1,绝对差仅为 11

第二个测试用例
不存在解,因为 22 个节点的树权值只能是 00,而 k=2k=2 需要权值为 1,2,31,2,3 之一,但无法达到。