#CF1994D. Funny Game

    ID: 6919 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>贪心图结构树结构数论数据结构并查集其他数学*1900

Funny Game

有趣的游戏

时间限制:2 秒
空间限制:256 MB

Vanya 有一张 nn 个顶点的图(编号从 11nn)和一个包含 nn 个整数的数组 aa;初始时图中没有任何边。Vanya 觉得无聊,为了找点乐子,他决定执行 n1n-1 次操作。

xx 次操作(操作按顺序从 11 开始编号)如下:

  • 选择两个不同的数 1u,vn1 \le u, v \le n,使得 auav|a_u - a_v| 能被 xx 整除。
  • 在图中添加一条连接顶点 uuvv 的无向边。

请帮助 Vanya 使用这 n1n-1 次操作得到一个连通图,或者判断这是不可能的。

  • 一张图如果可以通过边从任意顶点到达其他任意顶点,则称为连通的。

输入格式

每个测试包含多个测试用例。第一行包含一个整数 tt1t1031 \le t \le 10^3)—— 测试用例数。接下来是各个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n20001 \le n \le 2000)—— 图中顶点的数量。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)。

保证所有测试用例中 nn 的总和不超过 20002000

输出格式

对于每个测试用例,如果不存在解决方案,则输出 No(不含引号)。

否则,输出 Yes(不含引号),然后输出 n1n-1 行,其中第 ii 行输出第 ii 次操作需要选择的两个顶点 uuvv

你可以输出大写或小写字母(例如,字符串 yEsyesYesYES 都会被认为是肯定回答)。

样例输入

8
2
1 4
4
99 7 1 13
5
10 2 31 44 73
5
87 6 81 44 32
5
62 35 33 79 16
5
6 51 31 69 42
5
52 63 25 21 5
12
33 40 3 11 31 43 37 8 50 5 12 22
 

样例输出

YES
2 1
YES
4 1
2 1
3 2
YES
5 1
4 1
3 1
2 1
YES
4 1
3 1
2 1
5 4
YES
3 1
5 1
2 1
4 2
YES
4 1
5 1
2 1
3 2
YES
2 1
5 2
3 1
4 3
YES
9 1
12 9
11 1
10 1
6 1
7 6
2 1
8 2
5 2
3 1
4 1
 

样例解释

以第二个测试用例为例。

第一次操作(x=1x=1):可以选择顶点 4411,因为 a4a1=1399=86|a_4 - a_1| = |13 - 99| = 868686 能被 11 整除。

第二次操作(x=2x=2):可以选择顶点 2211,因为 a2a1=799=92|a_2 - a_1| = |7 - 99| = 929292 能被 22 整除。

第三次操作(x=3x=3):可以选择顶点 3322,因为 a3a2=17=6|a_3 - a_2| = |1 - 7| = 666 能被 33 整除。

从图示可以看出,得到的是一张连通图。