Ingeniero Frustrado.


Submit solution

Points: 100 (partial)
Time limit: 5.0s
Memory limit: 128M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python

Cierto ingeniero frustrado de cierta compañía frustrada del oeste de IslaGrande te pide que resuelvas el siguiente problema: Dado un árbol de N nodos calcular la cantidad de formas distintas en que es posible eliminar K nodos del mismo de manera tal que el grafo resultante siga siendo un árbol.

Un árbol es un grafo de uno o más nodos tal que entre cada par de nodos existe un único camino.

Entrada

En la primera línea dos enteros N y K (1 \leq K \leq N). Cada una de las siguientes N - 1 líneas contiene dos enteros A y B separados por un espacio que representan una arista entre el nodo A y el nodo B (1 \leq A, B \leq N).

Salida

Imprima un único entero que es la cantidad pedida módulo 10^9 + 7.

Ejemplo #1 de Entrada

9 2
2 3
2 1
9 8
5 9
6 5
4 1
5 7
1 5

Ejemplo #1 de Salida

12

Ejemplo #2 de Entrada

2 2
1 2

Ejemplo #2 de Salida

0

Evaluación

Subtareas 1 (4 puntos): 1 \leq N \leq 200 y K = 1

Subtareas 2 (21 puntos): 1 \leq N \leq 25

Subtareas 3 (75 puntos): 1 \leq N \leq 200 y 1 \leq K \leq N


Comments

There are no comments at the moment.