#arc038d. [arc038_d]有向グラフと数

[arc038_d]有向グラフと数

問題文

NN 頂点 MM 辺の有向グラフがあります。このグラフの頂点 ii には、整数 XiX_i が書かれています。ゲーム好きな兄妹がこのグラフと 11 つのチェスの駒を使ってゲームをしようとしています。

  • 最初、駒を頂点 11 に置く。
  • プレイヤーは自分のターンに、以下のいずれかちょうど 11 つの操作をしなければならない。
    • 移動 : 駒を別の頂点にちょうど 11 回移動させる。駒が頂点 ii にある場合は、頂点 ii から頂点 jj に向かう辺があるような頂点 jj にのみ移動させることができる。
    • 終了宣言 : ゲームを終了させる。
  • 交互にターンを繰り返し、どちらかのプレイヤーが終了宣言をするか、後手が 10910^9 回移動をさせた直後の時点でゲームは終了となり、その時点で駒がある頂点に書かれた整数がこのゲームの スコア となる。

先手のプレイヤーがスコアを出来るだけ大きくするような行動を取り、後手のプレイヤーがスコアを出来るだけ小さくするような行動を取るとき、ゲームのスコアはいくつになるでしょうか?


入力

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

NN MM X1X_1 X2X_2 ... XNX_N A1A_1 B1B_1 A2A_2 B2B_2 : AMA_M BMB_M

  • 11 行目には、グラフの頂点の個数を表す整数 N(1N100,000)N (1 ≦ N ≦ 100,000) と辺の個数を表す M(1M200,000)M (1 ≦ M ≦ 200,000) が空白区切りで与えられる。
  • 22 行目には、各頂点に書かれた整数を表す NN 個の整数が空白区切りで与えられる。このうち i(1iN)i (1 ≦ i ≦ N) 番目の整数 Xi(0Xi109)X_i (0 ≦ X_i ≦ 10^9) は、頂点 ii に書かれた整数を表す。
  • 33 行目からの MM 行には、辺の情報が与えられる。このうち i(1iM)i (1 ≦ i ≦ M) 行目には、22 つの整数 Ai,Bi(1AiN,1BiN,AineqBi)A_i,B_i (1 ≦ A_i ≦ N, 1 ≦ B_i ≦ N, A_i \\neq B_i) が空白区切りで与えられる。これは、グラフに頂点 AiA_i から頂点 BiB_i に向かう有向辺があることを表す。ただし、同じ辺が 22 回与えられることはないこと、すなわち pneqqp \\neq q のとき ApneqAqA_p \\neq A_q または BpneqBqB_p \\neq B_q が成り立つことが保証される。

部分点

この問題には部分点が設定されている。

  • N1000N ≦ 1000 かつ M2000M ≦ 2000 を満たすデータセット 11 に正解した場合は、3030 点が与えられる。
  • 全てのテストケースに正解した場合は、上記とは別に 7070 点が与えられる。

出力

ゲームのスコアを 11 行に出力せよ。出力の末尾に改行を入れること。


入力例1


3 3
1 3 2
1 2
2 3
3 1

出力例1


2

この例では、ゲームは以下のように進行します。

  • 先手が移動を選択し、駒を頂点 11 から頂点 22 に移動させる。
  • 後手が移動を選択し、駒を頂点 22 から頂点 33 に移動させる。
  • 先手が終了宣言を選択し、ゲームを終了させる。このときスコアは 22 となる。

先手がどのような行動を取っても、後手が適切な行動を取ることによってスコアを 22 より大きくすることは出来ません。

また、後手がどのような行動を取っても、先手が適切な行動を取ることによってスコアを 22 より小さくすることは出来ません。


入力例2


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

出力例2


1

この例では、ゲームは以下のように進行します。

  • 先手が移動を選択し、駒を頂点 11 から頂点 22 に移動させる。
  • 後手が移動を選択し、駒を頂点 22 から頂点 44 に移動させる。
  • 先手が移動を選択し、駒を頂点 44 から頂点 33 に移動させる。
  • 後手が移動を選択し、駒を頂点 33 から頂点 11 に移動させる。
  • 先手が移動を選択し、駒を頂点 11 から頂点 22 に移動させる。
  • 後手が移動を選択し、駒を頂点 22 から頂点 44 に移動させる。
  • (上の流れをしばらく繰り返す)
  • 後手が 10910^9 回目の移動を選択し、駒を頂点 33 から頂点 11 に移動させる。
  • この時点でゲームが終了し、スコアは 11 となる。

先手がどのような行動を取っても、後手が適切な行動を取ることによってスコアを 11 より大きくすることは出来ません。

また、後手がどのような行動を取っても、先手が適切な行動を取ることによってスコアを 11 より小さくすることは出来ません。