Byteasar the Travelling Salesman
A salesman Byteasar works hard travelling over Byteotia. In past times travelling salesmen could choose on their own towns they wanted to visit and order to do so, but those times are now gone forever. From the time the Central Controlling Office for Travelling Salesmen was established every salesman gets from the Office a list of towns to visit and the order of his tour. As it usually happens with central offices, the imposed order of visiting towns has not much in common with an optimal order. Before leaving for his tour Byteasar would like to know at least how much time it will take him to visit all the towns. It is your task to compute this.
The towns of Byteotia are numbered from to . The capital of Byteotia has the number , and this is the place Byteasar starts on his journey from. The towns are connected by a network of two-way roads. A trip between two towns directly connected by a road always takes 1 unit of time. From the capital one can reach any other Byteotian town. However, the road network had been designed very thriftily, so the roads never form cycles.
Write a program which:
reads the description of the road network in Byteotia and the list of towns that Byteasar has to visit,
computes the total time of Byteasar's trip,
-writes the result to the output.
Input
In the first line there is one integer n equal to the number of towns in Byteotia, . In the following lines the network of roads is described. In each of these lines there are two integers and , meaning that the towns and are connected by a road. In the line there is one integer equal to the number of towns Byteasar should visit, . In the following lines there are numbers of successive towns on Byteasar's route - one number per line.
Output
In the first and only line there should be one integer equal to the total time of Byteasar's trip.
Input Sample
5
1 2
1 5
3 5
4 5
4
1
3
2
5
Output Sample
7
Comments