#ABC164E. Two Currencies

Two Currencies

题目描述

There are NN cities numbered 11 to NN, connected by MM railroads.

You are now at City 11, with 1010010^{100} gold coins and SS silver coins in your pocket.

The ii-th railroad connects City UiU_i and City ViV_i bidirectionally, and a one-way trip costs AiA_i silver coins and takes BiB_i minutes. You cannot use gold coins to pay the fare.

There is an exchange counter in each city. At the exchange counter in City ii, you can get CiC_i silver coins for 11 gold coin. The transaction takes DiD_i minutes for each gold coin you give. You can exchange any number of gold coins at each exchange counter.

For each t=2,...,Nt=2, ..., N, find the minimum time needed to travel from City 11 to City tt. You can ignore the time spent waiting for trains.

NN 个城市,编号为 11NN ,由 MM 条铁路连接。

你现在在 11 城市,口袋里有 1010010^{100} 枚金币和 SS 枚银币。

ii 条铁路双向连接 UiU_i 城和 ViV_i 城,单程花费 AiA_i 个银币,耗时 BiB_i 分钟。不能使用金币支付车费。

每个城市都有一个兑换处。在城市 ii 的兑换处,您可以用 11 枚金币换取 CiC_i 枚银币。每枚金币的交易时间为 DiD_i 分钟。您可以在每个兑换柜台兑换任意数量的金币。

对于每个 t=2,...,Nt=2, ..., N ,求从城市 11 到城市 tt 所需的最短时间。你可以忽略等待火车的时间。

输入格式

输入内容按以下格式标准输入:

NN MM SS
U1U_1 V1V_1 A1A_1 B1B_1
::
UMU_M VMV_M AMA_M BMB_M
C1C_1 D1D_1
::
CNC_N DND_N

输出格式

For each t=2,...,Nt=2, ..., N in this order, print a line containing the minimum time needed to travel from City 11 to City tt.

样例 #1

样例输入 #1

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

样例输出 #1

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

样例 #2

样例输入 #2

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

样例输出 #2

5
5
7

样例 #3

样例输入 #3

6 5 1
1 2 1 1
1 3 2 1
2 4 5 1
3 5 11 1
1 6 50 1
1 10000
1 3000
1 700
1 100
1 1
100 1

样例输出 #3

1
9003
14606
16510
16576

样例 #4

样例输入 #4

4 6 1000000000
1 2 50 1
1 3 50 5
1 4 50 7
2 3 50 2
2 4 50 4
3 4 50 3
10 2
4 4
5 5
7 7

样例输出 #4

1
3
5

样例 #5

样例输入 #5

2 1 0
1 2 1 1
1 1000000000
1 1

样例输出 #5

1000000001

说明

数据规模与约定

  • 2N502 \leq N \leq 50
  • N1M100N-1 \leq M \leq 100
  • 0S1090 \leq S \leq 10^9
  • 1Ai501 \leq A_i \leq 50
  • 1Bi,Ci,Di1091 \leq B_i,C_i,D_i \leq 10^9
  • 1Ui<ViN1 \leq U_i \lt V_i \leq N
  • 不存在一对 i,j(ij)i, j(i \neq j) ,即 (Ui,Vi)=(Uj,Vj)(U_i,V_i)=(U_j,V_j)
  • 每个城市 t=2,...,Nt=2,...,N 都可以通过一定数量的铁路从城市 11 到达。
  • 所有输入值均为整数。

样例 11 解释

该输入中的铁路网络如下图所示。

在该图中,每个城市的标记如下:

  • 第一行:城市的 ID 编号 ii (城市 ii 的 ID 编号为 ii
  • 第二行 CiC_i / DiD_i

同样,每条铁路的标签如下:

  • 第一行:铁路的 ID 编号 ii (输入中第 ii 条铁路的 ID 编号为 ii )
  • 第二行 AiA_i / BiB_i

image.png

您可以在 22 分钟内从城市 11 到达城市 22 ,具体如下:

  • 使用第 11 条铁路在 22 分钟内从城市 11 到达城市 22

您可以在 1414 分钟内从城市 11 到达城市 33 ,具体如下:

  • 使用第 11 条铁路,从城市 11 到城市 22 只需 22 分钟。
  • 在城市 22 的兑换处,用 66 分钟将 33 金币兑换成 33 银币。
  • 使用第 11 条铁路在 22 分钟内从城市 22 移动到城市 11
  • 使用第 22 条铁路,在 44 分钟内从城市 11 到达城市 33

样例 22 解释

该输入中的铁路网络如下图所示:

image.png

您可以在 77 分钟内从城市 11 前往城市 44 ,具体如下:

  • 在城市 11 的兑换处用 22 金币兑换 66 银币,用时 22 分钟。
  • 使用第 22 条铁路,在 44 分钟内从城市 11 移动到城市 33
  • 使用第 44 条铁路,从城市 33 到城市 44 只需 11 分钟。

样例 33 解释

该输入中的铁路网络如下图所示:

image.png

从城市 11 到城市 66 只需 1657616576 分钟,具体如下:

  • 使用第 11 条铁路从城市 11 到城市 22 只需 11 分钟。
  • 22 城的兑换处,用 33 金币兑换 33 银币,用时 90009000 分钟。
  • 使用第 11 条铁路,在 11 分钟内从城市 22 移动到城市 11
  • 使用第 22 条铁路,在 11 分钟内从城市 11 到城市 33
  • 在城市 33 的兑换柜台,用 56005600 分钟将 88 金币兑换成 88 银币。
  • 使用第 22 条铁路在 11 分钟内从城市 33 移动到城市 11
  • 使用第 11 条铁路,在 11 分钟内从城市 11 到城市 22
  • 使用第 33 条铁路,在 11 分钟内从城市 22 到城市 44
  • 44 城的兑换处,用 1919 金币兑换 1919 银币,用时 19001900 分钟。
  • 使用第 33 条铁路,在 11 分钟内从城市 44 移动到城市 22
  • 使用第 11 条铁路,在 11 分钟内从城市 22 到城市 11
  • 使用第 22 条铁路,在 11 分钟内从城市 11 到城市 33
  • 使用第 44 条铁路,在 11 分钟内从城市 33 到城市 55
  • 55 城的兑换处,用 6363 金币兑换 6363 银币,用时 6363 分钟。
  • 使用第 44 条铁路,在 11 分钟内从城市 55 移动到城市 33
  • 使用第 22 条铁路,在 11 分钟内从城市 33 到城市 11
  • 使用第 55 条铁路,在 11 分钟内从城市 11 到城市 66

样例 44 解释

该输入中的铁路网络如下图所示:

image.png

样例 55 解释

该输入中的铁路网络如下图所示:

image.png

您可以在 10000000011000000001 分钟内从城市 11 到达城市 22 ,具体如下:

  • 在城市 11 的兑换处,用 11 金币兑换 11 银币,用时 10000000001000000000 分钟。
  • 使用第 11 条铁路,在 11 分钟内从城市 11 移动到城市 22