Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

D. Funny Game
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Vanya has a graph with n vertices (numbered from 1 to n) and an array a of n integers; initially, there are no edges in the graph. Vanya got bored, and to have fun, he decided to perform n1 operations.

Operation number x (operations are numbered in order starting from 1) is as follows:

  • Choose 2 different numbers 1u,vn, such that |auav| is divisible by x.
  • Add an undirected edge between vertices u and v to the graph.

Help Vanya get a connected graph using the n1 operations, or determine that it is impossible.

A graph is called connected if it is possible to reach any vertex from any other by moving along the edges.

Input

Each test consists of multiple test cases. The first line contains an integer t (1t103) — the number of test cases. Then follows the description of the test cases.

The first line of each test case contains the number n (1n2000) — the number of vertices in the graph.

The second line of each test case contains n numbers a1,a2,an (1ai109).

It is guaranteed that the sum of n over all test cases does not exceed 2000.

Output

For each test case, if there is no solution, then output "No" (without quotes).

Otherwise, output "Yes" (without quotes), and then output n1 lines, where in the i-th line, output the numbers u and v that need to be chosen for operation i.

You can output each letter in any case (for example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as a positive answer).

Example
Input
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
Output
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
Note

Let's consider the second test case.

  • First operation (x=1): we can connect vertices 4 and 1, since |a4a1|=|1399|=|86|=86, and 86 is divisible by 1.
  • Second operation (x=2): we can connect vertices 2 and 1, since |a2a1|=|799|=|92|=92, and 92 is divisible by 2.
  • Third operation (x=3): we can connect vertices 3 and 2, since |a3a2|=|17|=|6|=6, and 6 is divisible by 3.
From the picture, it can be seen that a connected graph is obtained.