#joi2017yof. [joi2017yo_f]ヘビの JOI 君 (Snake JOI)

[joi2017yo_f]ヘビの JOI 君 (Snake JOI)

問題

ヘビの JOI 君は,ある大きな屋敷に迷い込んでしまった.屋敷の住人に見つかる前に,屋敷を脱出しなければならない.

この屋敷には部屋が NN 個あり,1,2,ldots,N1, 2, \\ldots, N の番号が付けられている.また,廊下が MM 本あり,ii 本目の廊下 (1leqqileqqM1 \\leqq i \\leqq M) は部屋 AiA_i と部屋 BiB_i を結んでいる.JOI 君はこれらの廊下をどちらの向きにも通ることができ,廊下 ii を通るのには DiD_i 分かかる.部屋と部屋の間を廊下を通る以外の手段で移動する方法はない.

この屋敷の部屋の温度はそれぞれ一定に調節されており,JOI 君にとって寒すぎるか,快適であるか,暑すぎるかである.JOI 君は,急な温度変化に対応できないため,最後に寒すぎる部屋を出てから XX 分未満のうちに暑すぎる部屋に入ることはできない.同様に,最後に暑すぎる部屋を出てから XX 分未満のうちに寒すぎる部屋に入ることもできない.

JOI 君は,移動中に部屋に入るとすぐに部屋から出なければならない.また,廊下の途中で引き返したり,廊下 iiDiD_i 分より長い時間かけて通ることもできない.ただし,一度訪れた部屋にもう一度入ることや,一度使った廊下をもう一度使うことは許される.

JOI 君は現在部屋 11 にいる.この部屋は JOI 君にとって寒すぎる.JOI 君は屋敷の出口のある部屋 NN に入ると,屋敷から脱出できる.

JOI 君が屋敷から脱出するのにかかる最短の時間を求めよ.


入力

入力は 1+N+M1 + N + M 行からなる.

11 行目には,33 個の整数 N,M,XN, M, X (2leqqNleqq10,0002 \\leqq N \\leqq 10\\,0001leqqMleqq20,0001 \\leqq M \\leqq 20\\,0001leqqXleqq2001 \\leqq X \\leqq 200) が空白を区切りとして書かれている.これは,屋敷に NN 個の部屋と MM 本の廊下があり,JOI 君が温度変化に対応するのに XX 分かかることを表す.

続く NN 行のうちの ii 行目 (1leqqileqqN1 \\leqq i \\leqq N) には,部屋 ii の温度を表す整数 TiT_i (0leqqTileqq20 \\leqq T_i \\leqq 2) が書かれている.JOI 君にとって部屋 ii は,Ti=0T_i = 0 のとき寒すぎ,Ti=1T_i = 1 のとき快適であり,Ti=2T_i = 2 のとき暑すぎる.T1=0T_1 = 0 であることが保証されている.

続く MM 行のうちの jj 行目 (1leqqjleqqM1 \\leqq j \\leqq M) には,33 個の整数 Aj,Bj,DjA_j, B_j, D_j (1leqqAj<BjleqqN1 \\leqq A_j < B_j \\leqq N1leqqDjleqq2001 \\leqq D_j \\leqq 200) が空白を区切りとして書かれている.これは,廊下 jj が部屋 AjA_j と部屋 BjB_j を結んでおり,通るのに DjD_j 分かかることを表す.同じ部屋の組を結ぶ廊下が複数ある可能性があることに注意せよ.

与えられる入力データでは,JOI 君が屋敷から脱出できることは保証されている.

出力

JOI 君が屋敷から脱出するのに最短で何分かかるかを表す整数を 11 行で出力せよ.


入力例 1

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

出力例 1

9

入力例 11 では,部屋を $1 \\rightarrow 2 \\rightarrow 3 \\rightarrow 4 \\rightarrow 5 \\rightarrow 6 \\rightarrow 5 \\rightarrow 8$ の順に移動するのが最短となる.


入力例 2

15 25 4
0
1
1
0
2
1
0
1
1
2
0
0
1
0
1
8 11 1
7 10 1
12 14 1
3 8 1
1 5 1
3 9 1
3 8 1
1 5 1
6 15 1
11 12 1
2 14 1
7 10 1
11 12 1
5 13 1
2 8 1
1 4 1
2 11 1
5 6 1
1 13 1
6 12 1
5 10 1
9 13 1
4 10 1
3 12 1
7 13 1

出力例 2

6

入力例 22 では,いくつかの部屋の組 (たとえば部屋 11 と部屋 55) を結ぶ廊下が複数ある.