Considérons $S$, la suite de suites d'entiers. Initialement, $S_0 = (1)$. Ensuite, nous construisons $S_1, S_2, \dots, S_n$ comme suit.
Soit $|S_i|$ la longueur de la suite $S_i$, et $s_{i,j}$ le $j$-ième élément de $S_i$. Alors $S_{i+1}$ aura une longueur $|S_i| + 1$ et peut être obtenue à partir de $S_i$ en utilisant l'une des deux opérations suivantes :
- Écrire 1 ou l'entier donné $m$ comme élément numéro $|S_i| + 1$ de la nouvelle suite.
- Sélectionner un indice $j$ ($1 \le j < |S_i|$), choisir un entier $x$ tel que $s_{i,j} < x < s_{i,j+1}$ ou $s_{i,j} > x > s_{i,j+1}$, et le placer entre $s_{i,j}$ et $s_{i,j+1}$, en décalant les indices de la partie droite de 1.
Étant donné $n$ et $m$, trouvez le nombre d'ensembles ordonnés différents de suites $S_1 \dots S_n$. Deux ensembles sont considérés comme différents si, pour au moins un $i$ allant de 1 à $n$, les suites $S_i$ dans ces ensembles diffèrent. Comme la réponse peut être très grande, affichez-la modulo 998 244 353.
Entrée
L'entrée consiste en une ligne contenant deux entiers $n$ et $m$ ($1 \le n \le 3000$, $2 \le m \le 10^8$).
Sortie
Affichez le nombre de suites $S$ différentes modulo 998 244 353.
Exemples
Entrée 1
2 3
Sortie 1
5
Entrée 2
1024 52689658
Sortie 2
654836147
Remarque
Voici les suites possibles dans le premier exemple :
- $S_1 = (1, 3)$ (première opération), puis $S_2 = (1, 2, 3)$ (deuxième opération) ;
- $S_1 = (1, 1)$ (première opération), puis $S_2 = (1, 1, 3)$ (première opération) ;
- $S_1 = (1, 1)$ (première opération), puis $S_2 = (1, 1, 1)$ (première opération) ;
- $S_1 = (1, 3)$ (première opération), puis $S_2 = (1, 3, 3)$ (première opération) ;
- $S_1 = (1, 3)$ (première opération), puis $S_2 = (1, 3, 1)$ (première opération).
Par conséquent, la réponse est 5.