G - El correo

Languages: C, C++, Java, Haskell, Pascal, Python, JavaScript, Tiger, C#
Time & Memory limits: (details)

Fito ha sido elegido como el administrador de una ciudad en un juego en línea muy popular entre sus amigos. El cargo tiene muchas responsabilidades y una de ellas es la planificación y construcción de nuevos edificios. Lo próximo que se quiere construir en la ciudad es un sistema de correos. El dinero y los materiales no son problemas porque los jugadores lo obtienen haciendo misiones. La ciudad está dividida en $N$ distritos independientes y existen $N-1$ caminos bidireccionales entre algunos pares de distritos. Desde cualquier distrito se puede llegar a otro siguiendo estos caminos. La idea es construir $K$ oficinas de correo en algunos de los distritos. En estas oficinas los jugadores entregan las cartas y cada cierto tiempo un cartero transporta todos los paquetes hacia las oficinas de correo correspondientes. Un cartero es un jugador que recibe una identificación especial y un poco de dinero por cada viaje que realiza. Un problema con este sistema es que los carteros pueden hacer trampas y decir que hicieron más viajes de los reales, probablemente en complicidad con las oficinas de correo. Para evitar esto Fito ha decidido poner una oficina especial que les entrega un ticket a los carteros que pasan por ella. Esta oficina estará en un distrito que no tenga oficina de correo para evitar ilegalidades y  debe cumplir que cualquier camino entre dos oficinas de correos pasa por él. Fito tiene varias propuestas del conjunto de distritos en que va a poner las oficinas de correo. Para escoger la propuesta final Fito quiere saber para cada una la cantidad de distritos en los que puede poner su oficina especial.

Input

La entrada empieza con dos enteros $N$ $(2 \leq N \leq 50000)$ y $Q$ $(1 \leq Q \leq 50000)$ que indican la cantidad de distritos y de propuestas respectivamente. Después le siguen $N - 1$ líneas describiendo los caminos entre los distritos. Cada línea contiene dos enteros $A$ y $B$ que representan los distritos unidos por este camino ($1 \leq A, B \leq N, A \neq B$). Finalmente aparecen $Q$ propuestas. Cada propuesta es una línea que comienza con un entero $K$ ($ 2 \leq K \leq N$) la cantidad de oficinas de correos y siguen $K$ enteros distintos, cada uno representando el distrito donde se construirá una oficina de correo. La suma de los valores $K$ de todas las propuestas es a lo sumo $100000$.

Output

Por cada propuesta se debe imprimir la cantidad de distritos donde se puede poner la oficina especial de Fito.

Sample test(s)

Input
5 3 1 2 1 3 4 3 3 5 2 2 4 3 2 5 4 3 3 4 5
Output
2 1 0