Description

Give a tree with n vertices,each edge has a length(positive integer less than $1001$).
Define $dist(u,v)=$The min distance between node $u$ and $v$.
Give an integer k,for every pair $(u,v)$ of vertices is called valid if and only if $dist(u,v)$ not exceed k.
Write a program that will count how many pairs which are valid for a given tree.

Input

The input contains several test cases. The first line of each test case contains two integers $n, k$. ($n<=10000$) The following $n-1$ lines each contains three integers $u,v,l$, which means there is an edge between node $u$ and $v$ of length $l$.
The last test case is followed by two zeros.

Output

For each test case output the answer on a single line.

Sample Input

Sample Output