時間制限 : sec, メモリ制限 : KB
Japanese

パレード

JOI 王国では,JOIG の開催を記念して鼓笛隊のパレードを行うことになった.

JOI 王国には N 個の都市があり,1 から N までの番号が付けられている.また,鼓笛隊が通行可能な一方通行の道が M 本あり,1 から M までの番号が付けられている.道 i (1 ≦ i ≦ M) は都市 Ai から都市 Bi へ向かう一方通行の道であり,長さは Ci である.

パレードでは,鼓笛隊は次の条件を満たすように移動しなければならない.

  • 都市 1 を出発し,何本かの道を進行方向に進むことを繰り返して都市 N へ向かう.
  • 鼓笛隊が通る道の長さの総和は L 以下である.

JOI 王国の女王であるあなたは,この条件を満たす鼓笛隊の移動経路が無いかもしれないことに気が付いた.そこで,パレードを行うために,パレード当日に 0 本以上の道の進行方向を反転させることにした.

混乱を避けるため,なるべく進行方向を反転させる道の本数は少なくしたい.

JOI 王国の都市と道の情報と,整数 L が与えられたとき,いくつかの道の進行方向を反転させることでパレードを行うことができるかを判定し,もし行うことができる場合はパレードを行うために必要な進行方向を反転させる道の本数の最小値を出力せよ.

制約

  • 2 ≦ N ≦ 1000
  • 0 ≦ M ≦ 1000
  • 1 ≦ L ≦ 1000000000
  • 1 ≦ Ai ≦ N (1 ≦ i ≦ M).
  • 1 ≦ Bi ≦ N (1 ≦ i ≦ M).
  • Ai ≠ Bi (1 ≦ i ≦ M).
  • (Ai, Bi) ≠ (Aj, Bj) (1 ≦ i < j ≦ M).
  • 1 ≦ Ci ≦ 1000000 (1 ≦ i ≦ M).
  • 入力される値はすべて整数である.

入力

入力は以下の形式で標準入力から与えられる.
N M L
A1 B1 C1
A2 B2 C2
:
AM BM CM

出力

標準出力に,パレードを行うために必要な進行方向を反転させる道の本数の最小値を 1 行で出力せよ.ただし,どのように道の進行方向を反転させてもパレードを行うことができない場合は,-1 を出力せよ.

入出力例

入力例 1

3 2 5
2 1 2
2 3 3

出力例 1

1

1 の進行方向を反転させると,パレードを行うことができる.

これが最小値であるため,1 を出力する.

入力例 2

3 1 10
2 1 5

出力例 2

-1

どのように道の進行方向を反転させてもパレードを行うことができないため,-1 を出力する.

入力例 3

4 8 11
3 1 6
1 3 6
2 4 3
4 2 3
4 3 6
3 4 6
2 1 5
1 2 5

出力例 3

0

入力例 4

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

出力例 4

1

入力例 5

6 15 777777
1 3 497295
4 1 422722
4 5 607164
2 3 135688
5 2 995652
5 1 670296
3 1 138860
4 6 736614
6 3 620085
2 1 796353
6 4 949756
4 2 750680
6 5 591550
5 3 229431
3 2 668173

出力例 5

2

クリエイティブ・コモンズ・ライセンス

情報オリンピック日本委員会作 『日本情報オリンピック 第1回 女性部門』