#arc144e. [arc144_e]GCD of Path Weights

[arc144_e]GCD of Path Weights

問題文

NN 頂点 MM 辺からなる有向グラフ GG が与えられます.頂点には 1,2,ldots,N1, 2, \\ldots, N の番号がついています.ii 番目の辺は aia_i から bib_i に向かう有向辺で,ai<bia_i < b_i が成り立っています.

正整数列 W=(W1,W2,ldots,WN)W = (W_1, W_2, \\ldots, W_N)美しさを,次が成り立つような正整数 xx の最大値として定義します.

  • GG における頂点 11 から頂点 NN への任意のパス (v1,ldots,vk)(v_1, \\ldots, v_k) (v1=1,vk=Nv_1 = 1, v_k = N) に対し,sumi=1kWvi\\sum_{i=1}^k W_{v_i}xx の倍数である.

整数列 A=(A1,A2,ldots,AN)A = (A_1, A_2, \\ldots, A_N) が与えられます.正整数列 W=(W1,ldots,WN)W = (W_1, \\ldots, W_N) を,Aineq1impliesWi=AiA_i \\neq -1 \\implies W_i = A_i を満たすように定めるとき,その美しさとしてありうる最大値を求めてください.ただし,最大値が存在しない場合には -1 を出力してください.

制約

  • 2leqNleq3times1052\\leq N\\leq 3\\times 10^5
  • 1leqMleq3times1051\\leq M\\leq 3\\times 10^5
  • 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)
  • 与えられるグラフ GG において,頂点 11 から頂点 NN へのパスが存在する.
  • Ai=1A_i = -1 または 1leqAileq10121\\leq A_i\\leq 10^{12}

入力

入力は以下の形式で標準入力から与えられます.

NN MM a1a_1 b1b_1 vdots\\vdots aMa_M bMb_M A1A_1 A2A_2 ldots\\ldots ANA_N

出力

正整数列 WW の美しさとしてありうる最大値を出力してください.ただし,最大値が存在しない場合には -1 を出力してください.


入力例 1

4 4
1 2
1 3
2 4
3 4
-1 3 7 -1

出力例 1

4

頂点 11 から頂点 NN へのパスは,(1,2,4)(1,2,4), (1,3,4)(1,3,4)22 個です. 例えば W=(5,3,7,8)W = (5, 3, 7, 8) の美しさは 44 となります.実際,W1+W2+W4=16W_1 + W_2 + W_4 = 16, W1+W3+W4=20W_1 + W_3 + W_4 = 20 はともに 44 の倍数です.


入力例 2

4 5
1 2
1 3
2 4
3 4
1 4
-1 3 7 -1

出力例 2

1

頂点 11 から頂点 NN へのパスは,(1,2,4)(1,2,4), (1,3,4)(1,3,4), (1,4)(1,4)33 個です. 例えば W=(5,3,7,8)W = (5, 3, 7, 8) の美しさは 11 となります.


入力例 3

4 4
1 2
1 3
2 4
3 4
3 -1 -1 7

出力例 3

-1

例えば W=(3,10100,10100,7)W = (3, 10^{100}, 10^{100}, 7) の美しさは 10100+1010^{100}+10 となります.WW の美しさをいくらでも大きくできるため,その最大値は存在しません.


入力例 4

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

出力例 4

9