C :: Treeland Exhibition

Time Limit: 5 Seconds    Memory Limit: 32768 KB

There are n towns in the treeland and they form a tree, as you may guess, i.e. there is a unique path between every pair of towns. The length of road connecting every pair of adjacent towns is always 1 unit.

You want to hold an exhibition simultaneously on no more than L+1 consecutive towns, i.e. you choose two towns u and v of no more than L unit apart, and set up your exhibition in all the towns on the unique path from u to v. You want to attract people from all over the treeland to your exhibition, so you'd like to minimize the sum of "travelling distance" from every town. The "travelling distance" of a town is the distance from that town to its closest exhibition-town.

Input

There are at most 25 test cases. Each case begins with two integers, n and L (n <= 10000, 0 < L <= 100), the number of towns, and the maximal distance of the "endpoint towns" you choose. Next n-1 lines contain the descriptions of connections, each with two integers a and b, indicating that town a and town b are directly connected (towns are numbered from 0 to n-1). The input ends with n = L = 0.

Output

For each test case, print the minimal sum of travelling distance.

Sample Input

3 1
0 1
1 2
4 1
0 1
1 2
2 3
0 0

Sample Output

1
2
Submit