树上红点两中心覆盖

题目描述

给定一棵包含 nn 个节点的无向连通树,每条边 (u,v)(u, v) 都有一个正整数权重 ww。树上有 mm 个节点被特殊标记为“红点”。

你需要在树中选择恰好 2 个节点作为“中心”。对于每个红点,它到中心的距离被定义为它到这两个中心点中较近那一个的带权距离。

你的任务是,设计一种选择两个中心点的方案,使得所有红点到其最近中心的距离的最大值尽可能小。请你输出这个最小化的最大距离。

输入格式

第一行输入两个整数 n,mn, m,分别表示节点总数和红点的数量。

第二行输入 mm 个整数 r1,r2,,rmr_1, r_2, \dots, r_m,表示红点节点的编号。

接下来 n1n-1 行,每行输入三个整数 u,v,wu, v, w,表示一条连接节点 uuvv 的无向边,其权重为 ww

输出格式

输出一个整数,表示所有红点到最近中心的最大距离的最小值。

样例

样例输入

8 5
1 4 5 7 8
1 2 5
2 3 10
3 4 5
3 5 8
2 6 3
6 7 4
6 8 6

样例输出

7

提示

数据范围与约定

对于 100%100\% 的数据,保证:

  • 2mn2×1052 \le m \le n \le 2 \times 10^5
  • 1u,vn1 \le u, v \le n, uvu \ne v
  • 1w1061 \le w \le 10^6
  • 输入的 mm 个红点编号互不相同。
  • 输入保证构成一棵树。