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).