시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 (추가 시간 없음) 1024 MB52272352.273%

문제

IOI 国には,1 から N までの番号が付けられた N 個の町と,1 から M までの番号が付けられた M 本の道がある.

それぞれの道は,タクシーでのみ通行可能である.道 i (1 ≦ i ≦ M) のタクシーは町 Ai と町 Bi を双方向に移動でき,そのタクシーの色は,Ci = 1 のとき赤色,Ci = 2 のとき青色である.タクシーには料金がかかり,乗車すると以下のように所持金が変化する.

  • 乗車前の所持金を a 円とする.
  • タクシーが赤色の場合,乗車後の所持金が a - 1 円になる.
  • タクシーが青色の場合,乗車後の所持金が「a ÷ 2 を整数に切り捨てた値」円になる.

あなたは IOI 国の町 1 に住んでおり,以下の Q 個の質問の答えを知っておきたい.j 番目 (1 ≦ j ≦ Q) の質問は以下の通りである.

  • 町 1 から出発し,1 円以上の所持金を残した状態で町 Tj に到着するために,最初に少なくとも何円の所持金を持っている必要があるか.ただし,答えが L 円よりも大きい場合は,代わりに Large と答えよ.

町とタクシーの情報,そして質問の内容が与えられたとき,すべての質問に答えるプログラムを作成せよ.

입력

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

N M Q L
A1 B1 C1
A2 B2 C2
:
AM BM CM
T1
T2
:
TQ

출력

標準出力に Q 行で出力せよ.j 行目 (1 ≦ j ≦ Q) には,j 番目の質問の答えを出力せよ.

제한

  • 2 ≦ N ≦ 200 000
  • N - 1 ≦ M ≦ 200 000
  • 1 ≦ Q ≦ 200 000
  • 1 ≦ L ≦ 1 000 000 000
  • 1 ≦ Ai < Bi ≦ N (1 ≦ i ≦ M).
  • (Ai, Bi) ≠ (Aj, Bj) (1 ≦ i < j ≦ M).
  • 1 ≦ Ci ≦ 2 (1 ≦ i ≦ M).
  • 2 ≦ Tj ≦ N (1 ≦ j ≦ Q).
  • どの町の間も,いくつかの道を通って行き来できる.
  • 入力される値はすべて整数である.

서브태스크

번호배점제한
19

M = N - 1(Ai, Bi) = (i, i + 1) (1 ≦ i ≦ M),Q = 1N ≦ 100L ≦ 100

219

M = N - 1(Ai, Bi) = (i, i + 1) (1 ≦ i ≦ M),Q = 1

319

M = N - 1(Ai, Bi) = (i, i + 1) (1 ≦ i ≦ M).

416

N ≦ 50 000M ≦ 50 000Q = 1Ci = 1 (1 ≦ i ≦ M).

520

N ≦ 50 000M ≦ 50 000Q = 1

612

N ≦ 50 000M ≦ 50 000Q ≦ 50 000

75

追加の制約はない.

예제 입력 1

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

예제 출력 1

10

町 1 → 町 2 → 町 3 → 町 4 → 町 5 の経路で移動するならば,順に青,赤,青,赤のタクシーに乗ることになる.すると,最初に所持金が 10 円あった場合,所持金は 10 円 → 5 円 → 4 円 → 2 円 → 1 円となり,1 円以上を残した状態で町 5 に到着できる.

一方,最初の所持金が 9 円以下の場合,1 円以上を残した状態で町 5 に到着することはできない.

この入力例は小課題 1, 2, 3, 5, 6, 7 の制約を満たす.

예제 입력 2

10 9 3 25
1 2 2
2 3 1
3 4 1
4 5 1
5 6 2
6 7 1
7 8 1
8 9 1
9 10 2
10
9
3

예제 출력 2

Large
22
4

例えば,1 番目の質問について考えよう.

町 1 から出発して町 10 に移動するとき,町 1 → 町 2 → … → 町 9 → 町 10 の経路をたどることになる.しかし,最初に L (= 25) 円持っていたとしても,タクシーを使うごとに所持金が 25 円 → 12 円 → 11 円 → 10 円 → … と減っていき,1 円以上を残して町 10 にたどり着くことはできない.よって,Large と出力しなければならない.

この入力例は小課題 3, 6, 7 の制約を満たす.

예제 입력 3

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

예제 출력 3

4

町 1 → 町 5 → 町 3 → 町 2 の経路で移動するならば,赤いタクシーに 3 回乗ることになる.すると,最初に所持金が 4 円あった場合,所持金は 4 円 → 3 円 → 2 円 → 1 円となり,1 円以上を残した状態で町 2 に到着できる.

一方,最初の所持金が 3 円以下の場合,1 円以上を残した状態で町 2 に到着することはできない.

この入力例は小課題 4, 5, 6, 7 の制約を満たす.

예제 입력 4

9 11 5 10
1 2 1
1 3 2
2 3 2
2 9 2
3 9 1
4 9 1
8 9 1
5 8 1
5 7 1
4 7 2
6 7 2
2
6
7
8
9

예제 출력 4

2
Large
7
5
3

この入力例は小課題 6, 7 の制約を満たす.

채점 및 기타 정보

  • 예제는 채점하지 않는다.