Consideremos $S$, la secuencia de secuencias de enteros. Inicialmente, $S_0 = (1)$. Después de eso, construimos $S_1, S_2, \dots, S_n$ de la siguiente manera.
Sea $|S_i|$ la longitud de la secuencia $S_i$, y $s_{i,j}$ el $j$-ésimo elemento de $S_i$. Entonces $S_{i+1}$ tendrá una longitud de $|S_i| + 1$ y puede obtenerse a partir de $S_i$ usando una de las siguientes dos operaciones:
- Escribir 1 o el entero dado $m$ como el elemento con número $|S_i| + 1$ de la nueva secuencia.
- Seleccionar un índice $j$ ($1 \le j < |S_i|$), elegir un entero $x$ tal que $s_{i,j} < x < s_{i,j+1}$ o $s_{i,j} > x > s_{i,j+1}$, y colocarlo entre $s_{i,j}$ y $s_{i,j+1}$, desplazando los índices de la parte derecha en 1.
Dados $n$ y $m$, encuentre el número de conjuntos ordenados diferentes de secuencias $S_1 \dots S_n$. Dos conjuntos se consideran diferentes si, al menos para un $i$ desde 1 hasta $n$, las secuencias $S_i$ en esos conjuntos difieren. Como la respuesta puede ser muy grande, imprímala módulo 998 244 353.
Entrada
La entrada consiste en una línea que contiene dos enteros $n$ y $m$ ($1 \le n \le 3000$, $2 \le m \le 10^8$).
Salida
Imprima el número de secuencias $S$ diferentes módulo 998 244 353.
Ejemplos
Entrada 1
2 3
Salida 1
5
Entrada 2
1024 52689658
Salida 2
654836147
Nota
Aquí están las posibles secuencias en el primer ejemplo:
- $S_1 = (1, 3)$ (primera operación), luego $S_2 = (1, 2, 3)$ (segunda operación);
- $S_1 = (1, 1)$ (primera operación), luego $S_2 = (1, 1, 3)$ (primera operación);
- $S_1 = (1, 1)$ (primera operación), luego $S_2 = (1, 1, 1)$ (primera operación);
- $S_1 = (1, 3)$ (primera operación), luego $S_2 = (1, 3, 3)$ (primera operación);
- $S_1 = (1, 3)$ (primera operación), luego $S_2 = (1, 3, 1)$ (primera operación).
Por lo tanto, la respuesta es 5.