#abc261h. [abc261_h]Game on Graph

[abc261_h]Game on Graph

問題文

NN 頂点 MM 辺の有向グラフがあります。辺 ii は頂点 AiA_i から BiB_i への有向辺で、重みが CiC_i です。

最初、頂点 vv に駒が置かれています。高橋君と青木君が交互に次のように駒を動かすゲームを行います。

  • 駒が置かれている頂点から出る辺が存在しないとき、ゲームを終了する。
  • 駒が置かれている頂点から出る辺が存在するとき、そのうちいずれかの辺を選び、選んだ辺に沿って駒を移動する。

ゲームは高橋君から始め、高橋君はゲームが終了するまでに通った辺の重みの和を小さくしようとし、青木君は大きくしようとします。
22 人が目指すものはより厳密には、次の通りです。
高橋君は、ゲームを有限回の操作で終了させることを最優先し、それが可能ならば、ゲームが終了するまでに通る辺の重みの和を小さくしようとします。
青木君は、ゲームを有限回の操作で終了させないことを最優先し、それが不可能ならば、ゲームが終了するまでに通る辺の重みの和を大きくしようとします。
(駒が同じ辺を複数回通った場合は、重みはその回数だけ加算されるものとします。)

22 人が最善を尽くしたときゲームが有限回の操作で終了するか判定し、終了するならば、ゲームが終了するまでに通る辺の重みの和を求めてください。

制約

  • 1leqNleq2times1051 \\leq N \\leq 2\\times 10^5
  • 0leqMleq2times1050 \\leq M \\leq 2\\times 10^5
  • 1leqvleqN1 \\leq v \\leq N
  • 1leqAi,BileqN1 \\leq A_i,B_i \\leq N
  • 多重辺は存在しない。すなわち ineqji\\neq j のとき (Ai,Bi)neq(Aj,Bj)(A_i,B_i)\\neq(A_j,B_j)
  • 自己辺は存在しない。すなわち AineqBiA_i\\neq B_i
  • 0leqCileq1090 \\leq C_i \\leq 10^9
  • 入力に含まれる値は全て整数

入力

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

NN MM vv A1A_1 B1B_1 C1C_1 A2A_2 B2B_2 C2C_2 vdots\\vdots AMA_M BMB_M CMC_M

出力

22 人が最善を尽くしたとき、ゲームが有限回の操作で終了しないならば INFINITY と出力せよ。
有限回の操作で終了するならば、ゲームが終了するまでに通る辺の重みの和を出力せよ。


入力例 1

7 6 1
1 2 1
1 3 10
2 4 100
2 5 102
3 6 20
3 7 30

出力例 1

40

まず高橋君は頂点 33 に駒を動かし、次に青木君が頂点 77 に駒を動かし、ゲームが終了します。
ゲームが終了するまでに通る辺の重みの和は 10+30=4010+30=40 になります。


入力例 2

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

出力例 2

INFINITY

有限回の操作でゲームは終了しません。


入力例 3

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

出力例 3

5

1to2to3to1to2to41\\to 2 \\to 3 \\to 1 \\to 2\\to 4 と駒は動かされます。