Bubu came out of the cave to look for picnic food, but the rangers of Jellystone Park spotted it. The rangers try to block Bubu's way as it runs back to the cave. A ranger catches Bubu if the ranger is on the same clearing as Bubu at the same moment. A ranger may rest and wait on a clearing.
The first line contains three integers n, m, s (1≤n≤105, 0≤m≤2⋅105, 0≤s≤3⋅104), denoting the number of clearings in the forest, the number of paths between them, and the number of rangers, respectively. Each of the next m lines describes a (bidirectional) path with three integers a, b, w (1≤a,b≤n, 1≤w≤109), where a and b are the numbers of the two clearings the path connects and w is the time in seconds a ranger or Bubu needs to walk along it. Each of the next s lines contains the number of the clearing where one ranger stands. The last line contains the number of the clearing where Bubu is. Bubu's cave is on clearing 1.
If Bubu can reach the cave without being caught by the rangers, print the minimum time Bubu needs to reach the cave. Otherwise print −1. Assume there is always a path between Bubu's cave and the clearing where Bubu is.