This problem gives you a graph which contains vertex set V, arcs E and w(i,j)--the weight between the vertex i and vertex j.
Now, to make the problem a little more interesting, we define a set Vi is a subset of V, and define length(Vi, x) = min{length(y, x) | y is a vertex in Vi), x is a vertex in the graph, and length(y, x) is the length of the shortest path between x and y;
Your task is that: giving you the vertex set V1 and V2, you should calculate the length(V1, x) for every vertex x in V2;
Input
The first line a integer T specifies the number of the test cases, T <= 10.
The second line is two integers v and e(v <= 20000, e <= 100000), specifies the number of the vertex and the number of the arcs.
Then following e lines, every line contains three integers: vi, vj, w(i,j). You can assume that w(i,j) is a positive integer.
The next line contains a single number n(n <= 300) specifies the number of vertex in V1, then the next line contains n integers describe the vertex in V1.
The next line contains a single number m(m <= 30) specifies the number of vertex in V2, then the next line contains m integers describe the vertex in V2.
Output
You should output the results with the following formate: