SP14925 GRAFFTRI - King Graffs Trip

Description

King Graff, the ruler of the land of Feerie, is going on a trip through his realm! He would like to give his people a chance to see their great king amongst them, almost as if he too were a petty commoner with no future. Feerie consists of $ N $ ( $ 1 \leq N \leq 10^4 $ ) towns (numbered $ 1..N $ ), and $ M $ ( $ 1 \leq M \leq 10^5 $ ) roads. The $ i $ th road runs from town $ A_i $ to a different town $ B_i $ (and can only be travelled in that one direction), and takes $ T_i $ ( $ 1 \leq T_i \leq 10^9 $ ) minutes to traverse. No pair of towns is directly connected by more than one road in the same direction. King Graff will start his trip at town $ X $ , and would like to end at a different town $ Y $ . Furthermore, since he has better things to do, he would like to complete it in at most $ L $ ( $ 1 \leq L \leq 10^{15} $ ) minutes. However, Graff does not like to go long without being worshipped, and the only proper place to do this is in a shrine built to him. $ S $ ( $ 1 \leq S \leq 100 $ ) distinct towns contain such shrines - the $ i $ th shrine is in town $ H_i $ . He would like to minimize the longest continuous stretch of time spent during the trip without passing through any shrines. As the royal computer scientist, your job is to determine the length of this stretch, or break the news to your king that the trip cannot be completed in time. Note that the trip may be impossible to complete in any amount of time, if town $ Y $ is not reachable from town $ X $ by any path of connected roads.

Input Format

First line: 5 integers, $ N $ , $ M $ , $ X $ , $ Y $ , and $ L $ Next $ M $ lines: 3 integers, $ A_i $ , $ B_i $ , and $ T_i $ , for $ i = 1..M $ Next line: 1 integer, $ S $ Next $ S $ lines: 1 integer, $ H_i $ , for $ i = 1..S $

Output Format

Line 1: 1 integer - the minimum value for the longest continuous stretch of travel time spent away from shrines (in minutes), or -1 if the trip cannot be completed in at most $ L $ minutes