题目描述
在银河快递联盟的物流网络中,有 n 个星际中转站和 m 条超空间货运通道(无向边)。每条通道连接两个中转站,并需要消耗一定的能量燃料 w 来维持运作。联盟工程师小智发现,只需要重点关注其中的 k 个核心中转站,就能优化整个物流网络的效率。
定义 D(u, v) 为从星际中转站 u 到 v 的最短燃料消耗路径。现在,小智从所有中转站中选出了 k 个核心中转站 {a1, a2, …, ak},这 k 个点组成了一个新网络,边 (i, j) 的权值为原图中的 D(ai, aj)。
小智的任务是计算这个新网络的最小燃料消耗总和,即新的无向图的最小生成树的所有边的权值之和。
输入格式
输入包含多组测试数据。
第一行输入 T (1≤T≤2×104),表示测试数据组数。
每组数据:第一行三个整数 n, m, k(1≤n≤5×105,n−1≤m≤5×105,1≤k≤n),分别表示中转站数量、货运通道数量和核心中转站数量。
接下来 m 行,每行三个整数 x, y, w (1≤x, y≤n, 1≤w≤108),表示中转站 x 和 y 之间有一条燃料消耗为 w 的货运通道。
最后一行 k 个整数,表示选定的核心中转站编号。
保证所有测试样例的 n, m 之和均不超过 5×105。
保证给出的图是连通的。
输出格式
对于每组数据,输出一个整数,表示最小生成树的边的权值之和。
样例
2
5 4 3
1 2 3
1 3 5
1 4 7
2 5 6
3 4 5
3 6 3
1 2 4
1 3 5
2 3 2
3 2 7
1 1 4
2 2 6
1 2 3
26
6
样例1解释
第一组测试样例的原图和新图如下:

可以发现:
- D(1, 2)=3, D(1, 3)=5, D(1, 4)=7, D(1, 5)=9
- D(2, 3)=8, D(2, 4)=10, D(2, 5)=6
- D(3, 4)=12, D(3, 5)=14
- D(4, 5)=16
其中,小智只关心 3, 4, 5 这三个点,可以发现最后的生成树只包含 (3, 4), (3, 5) 这两条边,故生成树的权值为 12+14=26。