1494 Happy点对


Submit solution

Points: 100
Time limit: 5.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

树是一种特殊的图,之所以特殊,是因为它有很多优美的性质,比如从每个节点出发都有且仅有一条路径到达目的节点。很多高级的数据结构都是树形结构。^_^

现在给你一棵带权无向树(1为根时树高log n级别),节点数为N。每一对点之间都有一个最短距离,如果这个距离不超过K,则这对点就叫做Happy点对。你的任务就是统计下这棵树上有多少个Happy点对。

Input

输入包含多组测试数据。

每组数据第一行是两个整数N和K(N<=10000,K<=N*N)。接下来是一个N-1行,每行三个数a,b,val,表示节点a和b之间有一条边,权值为val.

测试数据以0 0结束,这组数据不用处理。

Output

对于每组数据,输出包括一行,即Happy点对的数目。

Sample

Input

3 4
1 3 1
1 2 1
6 2
1 6 3
1 2 1
1 3 2
3 4 2
5 3 2
0 0

Output

3
4

Hint

分治


Source: zjut_DD


Comments

There are no comments at the moment.