果农小 A 住在一棵果树上。
树上有 N 个结点,编号为 1 \sim N,共有 N-1 条边,每个树枝(边)上都有一定数量的果子。小 A 住在树上的 1 号结点中,1 号结点是树根。
今年的果子结得太多了。作为专业的果农,他知道必须要修剪掉一些树枝,让果树休养一下。
根据以往的经验,他修剪到最后,必须保证从树根能走到的结点总数(含根结点) \le C ,果树才能休养好。于是,他决定将所有包含果子数量 \lt T 的边都修剪掉。
请编程帮助小 A 计算出,T 最小取多少,才能满足果树休养的要求。
第 1 行输入整数 N 和 C。
接下来 N-1 行,每行输入 3 个整数 X,Y,W,表示编号为 X 和编号为 Y 的结点之间有一条边,该边上有 W 个果子。
输出一个整数,代表 T 的最小值。
5 3 2 1 10 2 5 12 3 1 8 4 1 0
9
14 9 6 1 7 1 8 6 10 1 8 1 5 12 1 12 10 11 1 0 5 9 9 12 14 11 13 12 5 7 9 4 4 1 2 12 3 13 2 10 1
6
15 1 1 6 11 6 2 0 13 1 13 13 9 1 9 15 4 11 2 9 10 15 7 11 12 10 7 15 5 14 9 2 5 15 6 8 1 8 3 12 14 4 14 12
14
包含果子数量 \lt 9 的边有 2 条: 1-3 和 1-4,删除这两条边之后,结点 1 能走到的结点(含根结点)仅剩:1 2 5。
对于 40\% 的数据,满足 1 \le N \le 20。
对于 70\% 的数据,满足 1 \le N \le 50000。
对于 100\% 的数据,满足 1 \le N \le 10^5,1 \le C \lt N,1 \le X,\le Y \le N,0 \le W \le 10^7。