A. Ориентирование дерева
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Дано неориентированное дерево. Требуется посчитать количество способов ориентировать ребра в дереве из n вершин, чтобы получилось ровно m стоков. Сток – вершина из которой не выходит ни одного ребра.

Входные данные

В первой строке содержатся два числа n и m, число вершин дерева и требуемое количество стоков соответсвенно. В следующих n - 1 строках содержатся пары чисел ui vi – ребро дерева, соединяющее вершины с номерами ui и vi.

1 ≤ n ≤ 1000
0 ≤ m ≤ n
1 ≤ ui, vi ≤ n
Выходные данные

Выведите количество способов по модулю 109 + 7.

Пример
Входные данные
5 2
1 2
2 3
3 4
3 5
Выходные данные
8