#abc192e. [abc192_e]Train

[abc192_e]Train

题目描述

在 AtCoder 共和国中,有 NN 个城市,编号从 11NN,以及 MM 条铁路,编号从 11MM

ii 条铁路双向连接了城市 AiA_i 和城市 BiB_i。每当时间为 00KiK_i 或其后的 KiK_i 的倍数时,一列列车便会从这些城市之一出发,前往另一个城市。每列火车到达目的地所需的时间为 TiT_i

你现在位于城市 XX。找出你能够在不早于时间 00 出发的情况下到达城市 YY 的最早时间。如果无法到达城市 YY,请报告这个事实。
换乘所需的时间可以忽略不计。也就是说,在每个城市,你可以在你的火车到达该城市的确切时间乘坐另一辆火车。

约束条件

  • 2leqNleq1052 \\leq N \\leq 10^5
  • 0leqMleq1050 \\leq M \\leq 10^5
  • 1leqX,YleqN1 \\leq X,Y \\leq N
  • XneqYX \\neq Y
  • 1leqAi,BileqN1 \\leq A_i,B_i \\leq N
  • AineqBiA_i \\neq B_i
  • 1leqTileq1091 \\leq T_i \\leq 10^9
  • 1leqKileq1091 \\leq K_i \\leq 10^9
  • 输入中的所有数值均为整数。

输入

从标准输入读入数据,输入格式如下:

NN MM XX YY A1A_1 B1B_1 T1T_1 K1K_1 vdots\\vdots AMA_M BMB_M TMT_M KMK_M

输出

打印你能够到达城市 YY 的最早时间。如果无法到达城市 YY,则打印 -1


示例输入 1

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

示例输出 1

7

首先,你在时间 00 乘坐铁路 11 从城市 11 前往城市 22。你在时间 22 到达城市 22

然后,你在时间 44 乘坐铁路 22 从城市 22 前往城市 33。你在时间 77 到达城市 33

无法更早到达城市 33


示例输入 2

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

示例输出 2

5

首先,你在时间 00 乘坐铁路 22 从城市 33 前往城市 22。你在时间 33 到达城市 22

然后,你在时间 33 乘坐铁路 11 从城市 22 前往城市 11。你在时间 55 到达城市 11


示例输入 3

3 0 3 1

示例输出 3

-1

无法到达城市 YY


示例输入 4

9 14 6 7
3 1 4 1
5 9 2 6
5 3 5 8
9 7 9 3
2 3 8 4
6 2 6 4
3 8 3 2
7 9 5 2
8 4 1 9
7 1 6 9
3 9 9 3
7 5 1 5
8 2 9 7
4 9 4 4

示例输出 4

26