#P1055. 城市漫步

城市漫步

题目描述

Carol 所在的 C 城有 nn 个景点从 11nn 编号,由 n1n-1 条双向道路连接使得任意两个景点可以通过道路互达,也就是其构成一棵 nn 个点的树。

Carol 想和他的朋友们去游览一些景点,于是约定在 xx 号景点集合,并希望去 a1,a2,,aka_1,a_2,\dots,a_kkk 个景点游玩,最后在 yy 号景点告别。这 kk 个景点对他们来说一样有趣,所以访问这些景点的顺序无关紧要,只要每个景点都去过就让人心满意足了。

当然,需要花费的总时间肯定越少越好,他们经过每条道路都需要花费 11 单位时间,请你帮他们求出从 xx 出发至到 yy 结束的整个过程中需要花费的最小总时间。

输入格式

第一行一个整数 TT 表示数据组数,对于每组数据:

第一行两个整数 n,kn,k

第二行两个整数 x,yx,y

第三行 kk 个整数 a1,a2,,aka_1,a_2,\dots,a_k

接下来 n1n-1 行,每行两个整数 ui,viu_i,v_i 表示一条连接景点 ui,viu_i,v_i 的双向道路。

输出格式

对于每组数据,输出一行一个整数表示最小需要的总时间。

2
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
3
7

样例解释 1

对于第一组数据,路线为1->2->1->3。 对于第二组数据,路线为3->1->3->5->2->5->6->5。

数据范围

对于 30%30\% 的数据,n20\sum n\leq 20

对于 60%60\% 的数据,n3000\sum n\leq 3000

对于 100%100\% 的数据,1T1041\leq T\leq 10^41kn2×1051\leq k\leq n\leq 2\times 10^51x,yn1\leq x,y\leq n1ain1\leq a_i\leq nn2×105\sum n\leq 2\times 10^5