在克罗地亚各地的餐馆因封锁而关闭后,Malnar 先生起初感到非常难过。但他很快意识到难过没有意义,并决定一旦餐馆重新开业,他将周游克罗地亚,用克罗地亚餐馆所能提供的最好的烤羊肉来款待自己。
Malnar 先生知道他可以访问的 $n$ 个城市,这些城市用 $1$ 到 $n$ 的整数标记。此外,他还知道连接这些城市的 $n - 1$ 条双向道路,其连接方式使得任意两个城市之间都可以通行。
每条道路上都有一家供应烤羊肉的餐馆,Malnar 先生知道在每家餐馆可以点多少公斤的羊肉。
他将选择两个不同的城市 $x$ 和 $y$,并通过最短路径(即使用最少道路数量的路径)从 $x$ 旅行到 $y$。他将仅在恰好一家餐馆停留,即那家他可以点最多数量羊肉的餐馆(如果有多个这样的餐馆,他会选择其中任意一家),当然他会吃掉他点的所有羊肉。
如果一条长度为 $l$ 且他在其中吃掉了 $w$ 公斤羊肉的路径满足 $w - l \ge k$,则 Malnar 先生认为该路径是令人满意的。路径的长度等于它所经过的道路数量。
他想知道有多少个不同的城市有序对 $(x, y)$,使得从 $x$ 到 $y$ 的最短路径是令人满意的。他非常忙,所以请你帮他计算出答案。
输入格式
第一行包含两个整数 $n$ 和 $k$($1 \le n, k \le 100\,000$),分别表示城市的数量和满意度阈值。
接下来的 $n - 1$ 行,每行包含三个整数 $x$,$y$ 和 $w$($1 \le x, y \le n$,$x \ne y$,$1 \le w \le 100\,000$),表示有一条连接 $x$ 和 $y$ 的道路,且该道路上的餐馆可以让 Malnar 先生点 $w$ 公斤的羊肉。
输出格式
输出满足从 $x$ 到 $y$ 的最短路径是令人满意的不同城市有序对 $(x, y)$ 的数量。
子任务
| 子任务 | 分值 | 数据范围 |
|---|---|---|
| 1 | 15 | $1 \le n \le 1000$ |
| 2 | 35 | 城市 $i$ 和 $i + 1$($1 \le i \le n - 1$)直接相连。 |
| 3 | 60 | 无附加限制。 |
样例
输入样例 1
3 1 1 2 3 1 3 2
输出样例 1
6
输入样例 2
4 1 1 2 1 2 3 2 3 4 3
输出样例 2
6
输入样例 3
5 2 1 2 2 1 3 3 3 4 2 3 5 4
输出样例 3
8
说明
第三个样例的解释:
满足条件的有序对为 $(1, 3)$,$(3, 1)$,$(1, 5)$,$(5, 1)$,$(3, 5)$,$(5, 3)$,$(4, 5)$ 和 $(5, 4)$。