#abc164e. [abc164_e]Two Currencies

[abc164_e]Two Currencies

問題文

11 から NN までの番号がつけられた NN 個の都市があります。 これらの都市は MM 本の鉄道路線によって結ばれています。

あなたは現在、金貨を 1010010^{100} 枚、銀貨を SS 枚持った状態で都市 11 にいます。

ii 番目の鉄道路線は、都市 UiU_i と都市 ViV_i を双方向に結んでおり、片道の運賃は 銀貨 AiA_i 枚、移動にかかる時間は BiB_i 分です。 運賃を金貨で払うことはできません。

各都市には両替所があり、都市 ii の両替所では金貨 11 枚を銀貨 CiC_i 枚と交換することができます。 交換には、金貨 11 枚あたり DiD_i 分かかります。
各交換所では、金貨を何枚でも交換することができます。

t=2,...,Nt=2,...,N について、都市 11 から都市 tt への移動にかかる最小の時間を求めてください。電車を待つのにかかる時間は無視して構いません。

制約

  • 2leqNleq502 \\leq N \\leq 50
  • N1leqMleq100N-1 \\leq M \\leq 100
  • 0leqSleq1090 \\leq S \\leq 10^9
  • 1leqAileq501 \\leq A_i \\leq 50
  • 1leqBi,Ci,Dileq1091 \\leq B_i,C_i,D_i \\leq 10^9
  • 1leqUi<VileqN1 \\leq U_i < V_i \\leq N
  • (Ui,Vi)=(Uj,Vj)(U_i,V_i)=(U_j,V_j) なる i,j(ineqj)i,j(i \\neq j) は存在しない
  • 都市 11 から都市 t=2,...,Nt=2,...,N にいくつかの鉄道路線を使って移動することができる。
  • 入力はすべて整数である。

入力

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

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

出力

t=2,...,Nt=2,...,Nについて、都市 11 から都市 tt への移動にかかる最小の時間を順番に一行ずつ出力せよ。


入力例 1

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

出力例 1

2
14

この入力中の鉄道網は以下のようなものです。

ここで、図中の都市のラベルは

  • 一段目に都市の番号 ii
  • 二段目に Ci/DiC_i / D_i

の形式に従っています。同様に、鉄道路線のラベルは

  • 一段目に鉄道路線の番号 ii
  • 二段目に Ai/BiA_i / B_i

の形式に従っています。

図

以下のように行動することで、 都市 11 から都市 2222 分で移動できます。

  • 11 番目の鉄道路線を使って、都市 11 から都市 22 へ移動する。(所要時間: 22 分)

以下のように行動することで、 都市 11 から都市 331414 分で移動できます。

  • 11 番目の鉄道路線を使って、都市 11 から都市 22 へ移動する。(所要時間: 22 分)
  • 都市 22 の両替所で、金貨 33 枚を銀貨 33 枚と交換する。(所要時間: 66 分)
  • 11 番目の鉄道路線を使って、都市 22 から都市 11 へ移動する。(所要時間: 22 分)
  • 22 番目の鉄道路線を使って、都市 11 から都市 33 へ移動する。(所要時間: 44 分)

入力例 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

この入力中の鉄道網は以下のようなものです。

図

以下のように行動することで、 都市 11 から都市 4477 分で移動できます。

  • 都市 11 の両替所で、金貨 22 枚を銀貨 66 枚と交換する。(所要時間: 22 分)
  • 22 番目の鉄道路線を使って、都市 11 から都市 33 へ移動する。(所要時間: 44 分)
  • 44 番目の鉄道路線を使って、都市 33 から都市 44 へ移動する。(所要時間: 11 分)

入力例 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

この入力中の鉄道網は以下のようなものです。

図

以下のように行動することで、 都市 11 から都市 661657616576 分で移動できます。

  • 11 番目の鉄道路線を使って、都市 11 から都市 22 へ移動する。(所要時間: 11 分)
  • 都市 22 の両替所で、金貨 33 枚を銀貨 33 枚と交換する。(所要時間: 90009000 分)
  • 11 番目の鉄道路線を使って、都市 22 から都市 11 へ移動する。(所要時間: 11 分)
  • 22 番目の鉄道路線を使って、都市 11 から都市 33 へ移動する。(所要時間: 11 分)
  • 都市 33 の両替所で、金貨 88 枚を銀貨 88 枚と交換する。(所要時間: 56005600 分)
  • 22 番目の鉄道路線を使って、都市 33 から都市 11 へ移動する。(所要時間: 11 分)
  • 11 番目の鉄道路線を使って、都市 11 から都市 22 へ移動する。(所要時間: 11 分)
  • 33 番目の鉄道路線を使って、都市 22 から都市 44 へ移動する。(所要時間: 11 分)
  • 都市 44 の両替所で、金貨 1919 枚を銀貨 1919 枚と交換する。(所要時間: 19001900 分)
  • 33 番目の鉄道路線を使って、都市 44 から都市 22 へ移動する。(所要時間: 11 分)
  • 11 番目の鉄道路線を使って、都市 22 から都市 11 へ移動する。(所要時間: 11 分)
  • 22 番目の鉄道路線を使って、都市 11 から都市 33 へ移動する。(所要時間: 11 分)
  • 44 番目の鉄道路線を使って、都市 33 から都市 55 へ移動する。(所要時間: 11 分)
  • 都市 55 の両替所で、金貨 6363 枚を銀貨 6363 枚と交換する。(所要時間: 6363 分)
  • 44 番目の鉄道路線を使って、都市 55 から都市 33 へ移動する。(所要時間: 11 分)
  • 22 番目の鉄道路線を使って、都市 33 から都市 11 へ移動する。(所要時間: 11 分)
  • 55 番目の鉄道路線を使って、都市 11 から都市 66 へ移動する。(所要時間: 11 分)

入力例 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

2 1 0
1 2 1 1
1 1000000000
1 1

出力例 5

1000000001

この入力中の鉄道網は以下のようなものです。

図

以下のように行動することで、 都市 11 から都市 2210000000011000000001 分で移動できます。

  • 都市 11 の両替所で、金貨 11 枚を銀貨 11 枚と交換する。(所要時間: 10000000001000000000 分)
  • 11 番目の鉄道路線を使って、都市 11 から都市 22 へ移動する。(所要時間: 11 分)