Contest Duration: - (local time) (100 minutes) Back to Home
F - Construct Highway /

Time Limit: 2 sec / Memory Limit: 1024 MB

問題文

Atcoder 国には 1 から N の番号がついた N 個の街と 1 から M の番号がついた M 個の高速道路があります。

• すべての街同士は、高速道路をいくつか通って互いに行き来できる
• i=1,\ldots,N について、街 i はちょうど D_i 本の高速道路と直接つながっている

制約

• 2 \leq N \leq 2\times 10^5
• 0 \leq M \lt N-1
• 1 \leq D_i \leq N-1
• 1\leq A_i \lt B_i \leq N
• i\neq j ならば、(A_i, B_i) \neq (A_j,B_j)
• 入力に含まれる値は全て整数である

入力

N M
D_1 \ldots D_N
A_1 B_1
\vdots
A_M B_M


入力例 1

6 2
1 2 1 2 2 2
2 3
1 4


出力例 1

6 2
5 6
4 5


この他にも、例えば 街 64、街 56、街 25 を結ぶような高速道路を建設しても条件を満たすことができます。

入力例 2

5 1
1 1 1 1 4
2 3


出力例 2

-1


入力例 3

4 0
3 3 3 3


出力例 3

-1


Score : 500 points

Problem Statement

The Republic of Atcoder has N towns numbered 1 through N, and M highways numbered 1 through M.
Highway i connects Town A_i and Town B_i bidirectionally.

King Takahashi is going to construct (N-M-1) new highways so that the following two conditions are satisfied:

• One can travel between every pair of towns using some number of highways
• For each i=1,\ldots,N, exactly D_i highways are directly connected to Town i

Determine if there is such a way of construction. If it exists, print one.

Constraints

• 2 \leq N \leq 2\times 10^5
• 0 \leq M \lt N-1
• 1 \leq D_i \leq N-1
• 1\leq A_i \lt B_i \leq N
• If i\neq j, then (A_i, B_i) \neq (A_j,B_j).
• All values in input are integers.

Input

Input is given from Standard Input in the following format:

N M
D_1 \ldots D_N
A_1 B_1
\vdots
A_M B_M


Output

If there isn't a way of construction that satisfies the conditions, print -1.
If there is, print (N-M-1) lines. The i-th line should contain the indices of the two towns connected by the i-th highway to be constructed.

Sample Input 1

6 2
1 2 1 2 2 2
2 3
1 4


Sample Output 1

6 2
5 6
4 5


As in the Sample Output, the conditions can be satisfied by constructing highways connecting Towns 6 and 2, Towns 5 and 6, and Towns 4 and 5, respectively.

Another example to satisfy the conditions is to construct highways connecting Towns 6 and 4, Towns 5 and 6, and Towns 2 and 5, respectively.

Sample Input 2

5 1
1 1 1 1 4
2 3


Sample Output 2

-1


Sample Input 3

4 0
3 3 3 3


Sample Output 3

-1