#abc239f. [abc239_f]Construct Highway

[abc239_f]Construct Highway

题目描述

Atcoder共和国有NN个编号从11NN的城镇,以及MM条编号从11MM的高速公路。

ii条高速公路双向连接了城镇AiA_i和城镇BiB_i

高达(High King)高桥王准备修建(NM1)(N-M-1)条新的高速公路,满足以下两个条件:

  • 通过某些高速公路可以在每一对城镇之间进行旅行。
  • 对于每个i=1,ldots,Ni=1,\\ldots,N,恰好有DiD_i条高速公路直接连接到城镇ii

判断是否有一种建造方式可以满足这些条件。如果存在,请输出其中一种方案。

约束条件

  • 2leqNleq2times1052 \\leq N \\leq 2\\times 10^5
  • 0leqMltN10 \\leq M \\lt N-1
  • 1leqDileqN11 \\leq D_i \\leq N-1
  • 1leqAiltBileqN1\\leq A_i \\lt B_i \\leq N
  • 如果ineqji\\neq j,则(Ai,Bi)neq(Aj,Bj)(A_i, B_i) \\neq (A_j,B_j)
  • 输入中的所有值都是整数。

输入

从标准输入读取的输入数据格式如下:

NN MM D1D_1 ldots\\ldots DND_N A1A_1 B1B_1 vdots\\vdots AMA_M BMB_M

输出

如果不存在满足条件的建造方式,请输出-1
如果存在,输出(NM1)(N-M-1)行。第ii行应该包含正在构建的第ii条高速公路连接的两个城镇的索引。


示例输入1

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

示例输出1

6 2
5 6
4 5

如同示例输出一样,可以通过修建连接城镇6622、城镇5566、城镇4455的高速公路来满足条件。

满足条件的另一个例子是修建连接城镇6644、城镇5566、城镇2255的高速公路。


示例输入2

5 1
1 1 1 1 4
2 3

示例输出2

-1

示例输入3

4 0
3 3 3 3

示例输出3

-1