One of the reasons why Jeffrey is so scared of roads is that Frank is able to drive on them. Frank is not a very talented driver; in fact, he is one of the worst. However, Frank believes that he won't cause any accidents if the distance he drives is under ~T~ kilometres.
Today, Frank needs to buy some apples. From his house, he plans to drive his car on the roads that Jeffrey is scared of in order to get to a Food Basics. To ensure that Frank doesn't cause any accidents, Frank will only visit a Food Basics that is under ~T~ kilometres from his house. Help Frank find all of the Food Basics that he can visit.
The first line of input will contain four integers, ~T~ ~(1 \leq T \leq 10^5)~, the number of kilometres that Frank can drive without seriously injuring someone, ~N~ ~(1 \leq N \leq 2\,000)~, the number of buildings that Frank can visit, ~M~ ~(1 \leq M \leq 86\,000)~, the number of roads that Frank can drive on, and ~G~ ~(1 \leq G \leq N)~, the number of Food Basics near Frank's house.
The next ~G~ lines will contain an integer ~g_i~ ~(1 \le g_i \le N)~, denoting the buildings that are a Food Basics. Frank's house will never be a Food Basics. Who would want to live in a grocery store?
We define a road as a connection from one building to another. Each building is marked with a number from ~1~ to ~N~. Frank's house will be denoted by the integer ~0~. The next ~M~ lines will be in the form
A B L, denoting a road that travels from building ~A~ to building ~B~ of length ~L~ kilometres. The road can only be traveled in one direction.
Output the number of Food Basics that Frank can visit, within ~T~ kilometres from his house.
15 3 5 2 2 3 0 1 2 1 2 10 1 3 20 0 3 22 0 2 15
Shortest distance from Frank's house to building 2 is 12. Shortest distance from Frank's house to building 3 is 22. The only Food Basics reachable from Frank's house is building 2.