# Coming Soon

A tree is an undirected connected graph without cycles.

You are given a tree of nn vertices. Find the number of ways to choose exactly kk vertices in this tree (i. e. a kk-element subset of vertices) so that all pairwise distances between the selected vertices are equal (in other words, there exists an integer cc such that for all u,vu,v (uvu≠vu,vu,v are in selected vertices) du,v=cdu,v=c, where du,vdu,v is the distance from uu to vv).

Since the answer may be very large, you need to output it modulo 109+7109+7.

Input

The first line contains one integer tt (1t101≤t≤10) — the number of test cases. Then tt test cases follow.

Each test case is preceded by an empty line.

Each test case consists of several lines. The first line of the test case contains two integers nn and kk (2kn1002≤k≤n≤100) — the number of vertices in the tree and the number of vertices to be selected, respectively. Then n1n−1 lines follow, each of them contains two integers uu and vv (1u,vn1≤u,v≤nuvu≠v) which describe a pair of vertices connected by an edge. It is guaranteed that the given graph is a tree and has no loops or multiple edges.

Output Equidistant Vertices solution codeforces

For each test case output in a separate line a single integer — the number of ways to select exactly kk vertices so that for all pairs of selected vertices the distances between the vertices in the pairs are equal, modulo 109+7109+7 (in other words, print the remainder when divided by 10000000071000000007).

input Equidistant Vertices solution codeforces

Copy Equidistant Vertices solution codeforces
3

4 2
1 2
2 3
2 4

3 3
1 2
2 3

5 3
1 2
2 3
2 4
4 5


output

Copy
6
0
1