Byteland 有 $n$ 座城市,其中有 $k$ 座是国王经常访问的重要城市。
该国还有 $m$ 条道路,每条道路连接两座城市。不幸的是,这些道路的状况非常糟糕,以至于国王无法驾驶他的跑车全速通过。
已知每条道路的翻新费用。你的任务是选择要翻新的道路,使得所有重要城市都能通过翻新后的道路相互连通,且总费用尽可能低。
输入格式
第一行包含三个整数 $n$、$k$ 和 $m$:城市数量、重要城市数量和道路数量。城市编号为 $1, 2, \dots, n$。第二行包含 $k$ 个整数:重要城市。
最后,$m$ 行描述了道路。每行包含三个整数 $a$、$b$ 和 $c$,表示城市 $a$ 和 $b$ 之间有一条双向道路,翻新费用为 $c$。
你可以假设任意两座城市之间都存在路径。
输出格式
输出使国王能够往返于所有重要城市之间的最小总翻新费用。
样例
输入 1
4 3 6 1 3 4 1 2 4 1 3 9 1 4 6 2 3 2 2 4 5 3 4 8
输出 1
11
子任务
在所有子任务中,$1 \le c \le 10^9$ 且 $n \ge k$。
子任务 1 (22 分)
- $2 \le k \le 5$
- $n \le 20$
- $1 \le m \le 40$
子任务 2 (14 分)
- $2 \le k \le 3$
- $n \le 10^5$
- $1 \le m \le 2 \cdot 10^5$
子任务 3 (15 分)
- $2 \le k \le 4$
- $n \le 1000$
- $1 \le m \le 2000$
子任务 4 (23 分)
- $k = 4$
- $n \le 10^5$
- $1 \le m \le 2 \cdot 10^5$
子任务 5 (26 分)
- $k = 5$
- $n \le 10^5$
- $1 \le m \le 2 \cdot 10^5$