atcoder#ABC239F. [ABC239F] Construct Highway

[ABC239F] Construct Highway

配点 : 500500

問題文

Atcoder 国には 11 から NN の番号がついた NN 個の街と 11 から MM の番号がついた MM 個の高速道路があります。 高速道路 ii は街 AiA_i と街 BiB_i を双方向に結んでいます。

国王の高橋君は、新たに NM1N-M-1 本の高速道路を建設し、次の 22 つの条件をともに満たそうとしています。

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

条件を満たすような建設方法が存在するか判定し、存在するなら 11 つ出力してください。

制約

  • 2N2×1052 \leq N \leq 2\times 10^5
  • 0M<N10 \leq M \lt N-1
  • 1DiN11 \leq D_i \leq N-1
  • 1Ai<BiN1\leq A_i \lt B_i \leq N
  • iji\neq j ならば、(Ai,Bi)(Aj,Bj)(A_i, B_i) \neq (A_j,B_j)
  • 入力に含まれる値は全て整数である

入力

入力は以下の形式で標準入力から与えられる。

NN MM

D1D_1 \ldots DND_N

A1A_1 B1B_1

\vdots

AMA_M BMB_M

出力

条件を満たすような建設方法が存在しないとき -1 を出力せよ。 存在するとき、NM1N-M-1 行出力せよ。ii 行目には、ii 番目に建設する高速道路が結ぶ 22 つの街の番号を空白区切りで出力せよ。

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

出力例のように、街 6622、街 5566、街 4455 をそれぞれ結ぶ高速道路を建設すると条件を満たすことができます。

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

5 1
1 1 1 1 4
2 3
-1
4 0
3 3 3 3
-1