#apc001d. [apc001_d]Forest

[apc001_d]Forest

問題文

NN 頂点 MM 辺の森が与えられます。頂点には 00 から N1N-1 の番号がついています。 辺は (xi,yi)(x_i,y_i) の形で与えられます。これは頂点 xix_iyiy_i が辺でつながっていることを意味します。

各頂点 ii には aia_i という値が定まっています。 あなたは与えられた森に辺を追加して連結にしたいです。 辺を追加するときには、まず異なる頂点二つを選択し( ii , jj とする)、 iijj の間に辺を張ります。 この時コストが ai+aja_i+a_j かかります。そしてこれ以降,頂点 iijj は永遠に選択できなくなります。

森を連結にする最小コストを求めてください。 連結にするのが不可能な場合はImpossibleと出力してください。

制約

  • 1N100,0001 ≤ N ≤ 100,000
  • 0MN10 ≤ M ≤ N-1
  • 1ai1091 ≤ a_i ≤ 10^9
  • 0xi,yiN10 ≤ x_i,y_i ≤ N-1
  • 与えられるグラフは森
  • 入力は全て整数

入力

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

NN MM a0a_0 a1a_1 .... aN1a_{N-1} x1x_1 y1y_1 x2x_2 y2y_2 :: xMx_M yMy_M

出力

森を連結にする最小コストを出力せよ。ただし、不可能な場合はImpossibleと出力せよ。


入力例 1

7 5
1 2 3 4 5 6 7
3 0
4 0
1 2
1 3
5 6

出力例 1

7

頂点 00, 55 をつなぐとグラフが連結になり,この時かかるコストは 1+6=71 + 6 = 7 です。


入力例 2

5 0
3 1 4 1 5

出力例 2

Impossible

どのように辺を追加してもグラフを連結にすることはできません。


入力例 3

1 0
5

出力例 3

0

最初からグラフは連結であるので,辺を追加する必要はありません。