#CF3726. 光头强与未完成的业务

光头强与未完成的业务

题目描述

熊大和熊二住在一个由 nn 个房屋和 n1n-1 条道路组成的城市中。从每个房屋出发,只能沿着道路到达其他房屋。也就是说,这座城市是一棵树。

熊大住在编号为 xx 的房屋里,熊二住在编号为 yy 的房屋里。熊大决定去拜访熊二。然而,他想起他在去熊二房屋之前,必须先完成 kk 件事情。为了完成第 ii 件事,他需要去 aia_i 号房屋,可以以任何顺序完成这些事情。他可以多次访问任何房屋(如果他愿意的话)。

熊大不太喜欢走路,所以他想知道他最少需要在路上花费多少分钟来完成所有事情,然后去拜访熊二。他可以以任何顺序访问房屋 a1,a2,,aka_1,a_2,…,a_k,并且可以多次访问任何房屋。如果两个房屋之间有道路相连,则熊大可以在 11 分钟内从一个房屋走到另一个房屋。

输入格式

输入的第一行包含一个整数 t(1t104)t(1≤t≤10^4)——输入测试用例的数量。每个测试用例前面都有一个空行。

每个测试用例的第一行包含两个整数 nnk(1kn2105)k(1≤k≤n≤2⋅10^5)——房屋和事情的数量。

每个测试用例的第二行包含两个整数 xxy(1x,yn)y(1≤x,y≤n)——熊大和熊二所在的房屋的索引。

每个测试用例的第三行包含 kk 个整数 a1,a2,,ak(1ain)a_1,a_2,…,a_k(1≤a_i≤n)—— 熊大需要去的房屋的索引。

接下来的 n1n-1 行包含城市的描述,每行包含两个整数 vjv_juj(1uj,vjn)u_j(1≤u_j,v_j≤n)——由道路连接的房屋的索引。

保证所有测试用例的 nn 之和不超过 21052⋅10^5

输出格式

输出 tt 行,每行包含输入对应测试用例的答案。作为答案输出单个整数 - 熊大需要在路上花费的最少时间来完成所有事情并到达熊二。

测试样例

3

3 1
1 3
2
1 3
1 2

6 4
3 5
1 6 2 1
1 3
3 4
3 5
5 6
5 2

6 2
3 2
5 3
1 3
3 4
3 5
5 6
5 2
3
7
2

样例说明

第一个测试用例的树和最佳路径为:

image

1→2→1→3

第二个测试用例的树和最佳路径为:

image

3→1→3→5→2→5→6→5

第三个测试用例的树和最佳路径为:

image

3→5→2