#P15869. [Roi2024 Team]Petya's Cryptography/Petya 的密码学

[Roi2024 Team]Petya's Cryptography/Petya 的密码学

时间限制: 1 秒
内存限制: 512 MB

题目描述

Petya 在密码学课上得了不及格,但他认为不是自己懒,而是老师没有理解他的天才。为了向世界证明自己,他发明了一种新的公钥加密系统 PSA。

在这个系统中:

  • 私钥是一棵树 TT
  • 公钥是两个数 (n,p)(n,p),其中 nn 是树的点数,pp 是树中长度为 22 的路径数量。

树是一个无向连通无环图。

注意,若知道任意一棵与公钥对应的树,就可以破解系统。给定 nnpp,请你构造任意一棵有 nn 个点且长度为 22 的路径数量为 pp 的树;若不存在,输出无解。

一条长度为 22 的路径由三个不同顶点 uvwu-v-w 组成,其中有边 (u,v)(u,v)(v,w)(v,w)

输入格式

输入一行两个整数 n,pn,p

1n1000,1\le n\le 1000, 0p109.0\le p\le 10^9.

输出格式

如果存在解,第一行输出 Yes,接下来输出 n1n-1 行,每行两个不同整数,表示树的一条边。

如果不存在解,输出一行 No

样例

样例 1

7 11
Yes
1 2
2 3
3 4
3 5
3 6
3 7

样例 2

5 5
No

题解要点