Considera la siguiente operación sobre un arreglo $a$ de longitud $n$. Elige un índice $i$ ($1 \le i < n$) y luego:
- si $a_i = a_{i+1}$, disminuye tanto $a_i$ como $a_{i+1}$ en $1$;
- en caso contrario, disminuye el menor de $a_i$ y $a_{i+1}$ en $1$.
Todos los elementos del arreglo deben ser no negativos en todo momento, por lo que una operación solo puede aplicarse si no hace que ningún elemento sea negativo.
Un arreglo $a$ se llama bueno si es posible hacer que todos sus elementos sean iguales a $0$ aplicando esta operación cualquier número de veces, posiblemente cero.
Se te dan $n$ y $k$. Cuenta los arreglos buenos $a$ de longitud $n$ que satisfacen $0 \le a_i \le k$ para todo $i$, módulo $998\,244\,353$.
Entrada
La única línea contiene dos enteros $n$ y $k$ ($1 \le n, k \le 250\,000$).
Salida
Imprime un único entero: el número de arreglos buenos, módulo $998\,244\,353$.
Ejemplos
Entrada 1
5 2
Salida 1
36
Entrada 2
7 3
Salida 2
855