- Time limit: 1.00 s
- Memory limit: 512 MB
There are cities and roads. Each road is bidirectional and connects two cities. It is also known that cities have an anime shop.
If you live in a city, you of course know the local anime shop well if there is one. You would like to find the nearest anime shop that is not in your city.
For each city, determine the minimum distance to another city that has an anime shop.
Input
The first line has three integers , and : the number of cities, roads and anime shops. The cities are numbered .
The next line contains integers: the cities that have an anime shop.
Finally, there are lines that describe the roads. Each line has two integers and : there is a road between cities and .
Output
Print integers: for each city, the minimum distance to another city with an anime shop. If there is no such city, print instead.
Example
Input:
9 6 4 2 4 5 7 1 2 1 3 1 8 2 4 3 4 5 6
Output:
1 1 1 1 -1 1 -1 2 -1
Subtask 1 (23 points)
Subtask 2 (16 points)
- Each road is between cities and for