Stiff Waist Beast is going on vacation. However, he thinks that planning the trip is too trivial. He has a lot of much important things to do. How can he waste time on it! So he decides to give this task to you.
The city Stiff Waist Beast is going to travel to has N viewpoints. Interestingly, for every viewpoint a and b, there exist only one shortest path, which means the map of the city is a tree. Stiff Waist Beast wants to go to Q places, so you need to tell him how to get from his hotel to the places he wants to visit. Since Stiff Waist Beast doesn't like to go too far, so the length of every path is less than 1000.
The first line contains two integers N and Q. The city has N viewpoints, the viewpoints are numbered from 0 to N - 1, and 0 is the hotel that Stiff Waist Beast lives in.
The next N - 1 lines contain two integer vi and ui, there is a road between vi and ui.
The next line has Q integers ai, means the places Stiff Waist Beast wants to visit.
2 <= N <= 2e5.
0 <= vi and ui <= N - 1.
1 <= ai <= N - 1.
For testcase 1~3, 1 <= Q <= 500.
For testcase 4~6, 1 <= Q <= 2e4.
For every ai, tell Stiff Waist Beast how to get from his hotel to viewpoint ai, that is, print the path from 0 to ai.