在美丽的校园里,熊猫和他的朋友们正准备一起聚餐。他们喜欢在路上共度时光,因为这样可以自由地聊天。
校园被建模为一个拥有 $n$ 个节点和 $m$ 条带权无向边的连通图。聚餐地点是商场,位于节点 1。$k$ 个朋友从不同的节点出发前往商场。所有朋友的移动速度相同(每单位时间移动 1 单位距离),并且允许在边上的任意位置改变移动方向(参见样例解释)。
设 $t_{\text{meet}}$ 为所有朋友都能在此时刻或之前到达商场的最早可能时间。基于这个最早的汇合时间,对于每个朋友个人而言,求他们在商场最终汇合之前,能够有人陪伴(即至少有另一个朋友与他处于图中的完全相同位置,该位置可以是节点,也可以是边上的某个位置)的最大总时间。
在考虑某个特定的朋友 $i$ 时,其他所有朋友 $j \neq i$ 的路径和移动策略都会被优化,以最大化朋友 $i$ 有人陪伴的时间,前提是所有朋友到达商场的时间都不晚于 $t_{\text{meet}}$。
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 10^4$),表示测试用例的数量。
对于每个测试用例: 第一行包含三个整数 $n, m, k$ ($2 \le n \le 3 \times 10^5$,$n - 1 \le m \le 10^6$,$2 \le k \le n$),分别表示节点数、边数和朋友数。
第二行包含 $k$ 个互不相同的整数 $a_1, a_2, \dots, a_k$ ($1 \le a_i \le n$),表示朋友们的起点节点。
接下来的 $m$ 行,每行包含三个整数 $u, v, w$ ($1 \le u, v \le n, u \neq v, 1 \le w \le 10^9$),表示节点 $u$ 和 $v$ 之间有一条长度为 $w$ 的边。图是连通的,且不含重边或自环。
所有测试用例中 $n$ 的总和不超过 $3 \times 10^5$,$m$ 的总和不超过 $10^6$。
输出格式
对于每个测试用例,输出一行,包含 $k$ 个由空格隔开的浮点数,每个浮点数精确到小数点后一位,表示每个朋友获得陪伴的最大时间。
样例
输入样例 1
3 4 3 2 3 4 1 2 3 3 2 1 4 2 1 2 1 2 1 2 1 2 3 3 2 3 1 2 3 1 2 3 1 3 5
输出样例 1
3.0 3.0 1.5 1.5 3.5 3.5 2.5
说明
对于样例中的第三个测试用例,在商场汇合的最早时间为 5 个时间单位。
- 来自节点 1 和 2 的朋友可以在边 (1, 2) 的中点相遇,用时 1.5 个时间单位,然后一起返回商场,再用时 1.5 个时间单位,最后在商场等待 2 个时间单位,总共获得 3.5 个时间单位的陪伴。
- 来自节点 3 的朋友在边 (1, 3) 的中点与来自节点 1 的朋友相遇,用时 2.5 个时间单位,并与他们一起返回,用时 2.5 个时间单位,总共获得 2.5 个时间单位的陪伴。