Hay $n$ ciudades en Saint Waterloo. Están conectadas con $n - 1$ aerolíneas no dirigidas, de tal manera que es posible llegar desde cualquier ciudad a cualquier otra utilizando las aerolíneas.
Decimos que dos ciudades tienen una buena relación si es posible llegar de una a otra utilizando como máximo $x$ vuelos.
Además, decimos que un conjunto de $k$ ciudades es amigable si todos los pares de ciudades en él tienen una buena relación.
Debes encontrar el número de conjuntos de ciudades amigables para cada $k$, tal que $1 \le k \le n$. Como estos valores pueden ser muy grandes, encuéntralos módulo $998\,244\,353$.
Entrada
La primera línea de la entrada contiene dos enteros $n, x$ ($1 \le n \le 300\,000$, $0 \le x \le n - 1$): el número de ciudades en Saint Waterloo y $x$.
Las siguientes $n - 1$ líneas contienen las descripciones de las aristas, de modo que la $i$-ésima línea contiene dos enteros $a, b$ ($1 \le a, b \le n$), los índices de las ciudades conectadas por la $i$-ésima aerolínea.
Salida
Imprime $n$ enteros: el número de conjuntos amigables de $1, 2, \dots, n$ ciudades, módulo $998\,244\,353$.
Ejemplos
Entrada 1
1 0
Salida 1
1
Entrada 2
5 1 1 2 2 3 3 4 4 5
Salida 2
5 4 0 0 0
Entrada 3
4 2 1 2 1 3 1 4
Salida 3
4 6 4 1
Nota
En el segundo ejemplo, todos los conjuntos amigables posibles son de tamaño 1 y 2, y el número de conjuntos amigables para estos tamaños es el número de ciudades y el número de aerolíneas, respectivamente.
En el tercer ejemplo, es posible llegar desde cualquier ciudad a cualquier otra utilizando como máximo $x$ vuelos, por lo que el número de conjuntos amigables de $k$ ciudades es $\binom{4}{k}$.