在 Lill-Jansskogen 的树林里,有一张慢跑者经常使用的步道网。这些步道备受赞誉,是由皇家理工学院的教授们专门挑选的,旨在让大学生们从繁重的学业中获得片刻休息,并让他们的头脑焕然一新。奇怪的是,这些步道网络实际上构成了一棵树。当教授们选择这些步道时,他们选取了在 Lill-Jansskogen 发现的一组步道,并构建了一棵最小生成树,以“通过在皇家理工学院优美的环境中应用图论,鼓励并激励计算机科学专业的学生参与体育活动”。
不幸的是,计算机科学专业的学生们并没有那么勇敢。冬天即将来临,斯德哥尔摩的天色越来越暗。最近,来自 CSC(胆小鬼社区,Community of Scared Cowards)的一群程序员抱怨说,夜间步道网络的部分区域太黑了。虽然有些步道装有路灯,但对于 CSC 来说,这有时还不够。他们希望看到所有他们可能使用的步道都能被妥善照亮!
你的任务是通过在交叉路口放置路灯来满足这些胆小鬼的需求。出于经济原因,可能无法在所有交叉路口都安装路灯,因此,只要确保慢跑者可能使用的每条步道所连接的两个交叉路口中,至少有一个装有路灯即可。有些交叉路口已经安装了路灯,当然,你可以继续使用这些路灯。
你并不确切知道慢跑者正在使用哪些步道,但你知道慢跑者总是从大学校园出发并回到大学校园。你还知道慢跑者正在为即将到来的马拉松进行训练,因此他们总共正好跑 $S$ 米。慢跑者可以在任何时间点折返,甚至可以在步道中间折返,并且为了满足跑完正好 $S$ 米的要求,她可以根据需要折返任意多次。
任务
你将获得一份树林地图以及教授们创建的最小生成树中包含的慢跑步道。保证每对交叉路口之间有且仅有一条路径,其中路径是一组相邻的步道。你的任务是找出为了满足胆小的跑步者(无论他们使用哪条步道,需满足上述限制),你需要安装的额外路灯的最小数量。
输入格式
输入的第一行包含两个整数 $N$ ($2 \le N \le 50\,000$) 和 $S$ ($1 \le S \le 10^4$),分别表示交叉路口的数量和慢跑者想要跑的总距离(单位:米)。接下来 $N-1$ 行,每行包含三个整数 $a$ ($1 \le a \le N$),$b$ ($1 \le b \le N$),$d$ ($1 \le d \le 100$),表示交叉路口 $a$ 和 $b$ 之间有一条长度为 $d$ 米的双向步道。
接下来一行包含一个整数 $L$ ($0 \le L \le N$),表示已经安装的路灯数量。接下来一行包含 $L$ 个不同的整数 $\ell_1, \dots, \ell_L$,表示在交叉路口 $\ell_1, \dots, \ell_L$ 处已经安装了路灯。大学校园位于交叉路口 1。
输出格式
输出一个整数,表示为了满足慢跑者的需求,你需要安装的额外路灯的最小数量。
样例
样例输入 1
5 6 1 2 1 1 3 1 4 3 3 3 5 2 1 1
样例输出 1
1
样例输入 2
5 6 1 2 1 1 3 1 4 3 3 3 5 2 1 3
样例输出 2
1
样例输入 3
5 6 1 3 3 1 4 2 1 5 3 1 2 2 2 4 3
样例输出 3
1