#codefestivalrelayi. [code_festival_relay_i]信号待ち

[code_festival_relay_i]信号待ち

問題文

陸運企業陸道社の社員である amylase 伯爵さんは、荷物を届けるためにとある街を訪れました。この街は、nn 個の交差点と、交差点同士を結ぶ mm 本の道路でできており、交差点には 11 から nn までの番号がつけられています。

それぞれの交差点には信号機が 11 つずつ存在し、各信号機は青または赤の 22 つの状態を持ちます。時刻 tt = 00, 11, 22, ...... における交差点 ii の信号機の状態は、パラメータ aia_i, bib_i, cic_i によって次のように定まります。

  • 最初の cic_i 秒、すなわち tt = 00, 11, ......, ci1c_{i}-1 は、赤である
  • その後、 aia_i 秒の青と bib_i 秒の赤が繰り返される

青から赤に変わる時刻 (たとえば t=ci+ait = c_i + a_i の時) は信号は赤であり、赤から青に変わる時刻 (たとえば t=cit = c_i の時) は信号は青であることに注意してください。

各交差点は、信号機の状態に関係なく到着することができますが、その交差点を出発できるのは信号機の状態が青のときのみに限られます。また、信号機による待ち時間を除いて、交差点は 00 秒で通過することができます。

さて、amylase 伯爵さんが時刻 00 で交差点 ss にいるとき、そこから交差点 dd へ移動するために必要な最小の所要時間を求めてください。


入力

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

nn mm ss dd a1a_1 b1b_1 c1c_1 ...... ana_n bnb_n cnc_n x1x_1 y1y_1 t1t_1 ...... xmx_m ymy_m tmt_m

  • 11 行目には、交差点の個数を表す整数 nn (2leqnleq100,0002 \\leq n \\leq 100{,}000)、道路の本数を表す整数 mm (1leqmleqmin(n(n1)/2,105)1 \\leq m \\leq min(n(n-1)/2, 10^5))、出発地点の交差点を表す整数 ss (1leqsleqn1 \\leq s \\leq n) と目的地点の交差点を表す整数 dd (1leqdleqn1 \\leq d \\leq n) が与えられる。
  • sneqds \\neq d であることが保証される。
  • 続く nn 行には、各交差点にある信号機の情報が与えられる。
  • ai,bi,cia_i, b_i, c_i (1leqai,bi,cileq1,000,000,0001 \\leq a_i, b_i, c_i \\leq 1{,}000{,}000{,}000) は、ii 番目の交差点にある信号機が最初の cic_i 秒は赤であり、その後 aia_i 秒の青と bib_i 秒の赤を繰り返すことを意味する。
  • 続く mm 行には、各道路に関する情報が与えられる。
  • xi,yix_i, y_i (1leqxi,yileqn1 \\leq x_i, y_i\\leq n) と tit_i (0leqtileq1,000,000,0000 \\leq t_i \\leq 1{,}000{,}000{,}000) は、ii 番目の道によって交差点 xix_iyiy_i の間を移動するのに tit_i 秒かかることを意味する。
  • 与えられるグラフは連結であり、自己辺や多重辺は含まれないことが保証される。

出力

交差点 ss から交差点 dd に移動するための最小の所要時間を 11 行で出力せよ。

最後は改行し、余計な文字、空行を含まないこと。


入力例1


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

出力例1


8

出発地点である交差点 11 の信号機は時刻 44 にはじめて青になり、そこから 44 秒かけて 22 に移動すればよい。


入力例2


4 4 4 2
2 4 8
9 9 9
2 8 4
3 3 3
1 2 8
1 4 6
2 3 6
3 4 3

出力例2


17