X-Men
题号:NC14303
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

There is a kingdom called Dream Kingdom with N cities connected by N - 1 roads. There is a path between any two city. The length of each road is one kilometer. The cities are numbered from 1 to N. There are M X-men in this kingdom. The i-th X-man is in the city numbered ai(1 ≤ ai ≤ N). There can be no or multiple X-men in one city.
Everyone start to walk simultaneously. At the beginning of each hour, one man will choose a adjacent city ("adjacent" means there is a road between two cities) which is on the shortest path to the city where there is a man he can communicate with now. If there are several eligible adjacent cities that can be chosen, the X-man will choose one of themrandomly. Each x-man will make the decision and move simultaneously. The speed of X-men is only one kilometer per hour. So they will move to chosen city at the end of each hour. X-men can communicate with the people whose distance to him ismore than onekilometer at this time. If there are no X-man he can communicate with now, he will not move in the following hour.
The king of the Dream Kingdom want to arrest X-men. And at the beginning of one hour he could check whether there is any X-man can move in the following hour. If the king knows no X-man can move in the following hour, he will send the army to catch all X-men immediately.
Now the king wants you to help him calculate the expected hours he could arrest the X-men. In other words, you need to calculate the expected hours such that all X-men stop moving.

输入描述:

The first line is the number of test cases.
For each test case, the first line contains two positive numbers N(1 ≤ N ≤ 103), M(1 ≤ M ≤ 103). The second line contains M numbers ai (1 ≤ ai ≤ N).
The following N - 1 lines describe the roads. Each line contains two integers u, v (1 ≤ u,v ≤ N), denoting there is a road between city u and city v.

输出描述:

For each test case, output one number in one single line representing the answer. You should output your answer rounded to two decimal places.
示例1

输入

复制
2
7 3
5 6 7
1 2
1 3
1 4
5 2
6 3
4 7
3 3
1 1 2
1 2
2 3

输出

复制
2.00
0.00

说明

In the first example, each X-man only have one adjacent city can be chosen to move in the first hour. They will move from city {5, 6, 7} to city {2, 3, 4} respectively. Each X-man only have one adjacent city can be chosen to move in the second hour, too. They will all move to city {1}. And then all of them can't feel any X-man such that distance between two X-men is more than one unit length. So they will be arrested immediately after two hours from the beginning to now. This is the only situation. So the answer is {2/1 = 2.00}.