Yuki possède un multiensemble $S=\{s_1,\ldots,s_n\}$ de taille $n$ et un entier $k$.
Yuki définit une transformation comme suit :
- Choisir un sous-ensemble $S'$ de $S$ (où $S'$ peut être vide), retirer $S'$ de $S$, puis ajouter le $\operatorname{mex}^{*}$ de $S'$ à $S$.
Yuki souhaite maintenant effectuer plusieurs transformations pour que $S$ devienne $\{k\}$. Vous devez aider Yuki à trouver le nombre minimal de transformations nécessaires pour rendre $S$ égal à $\{k\}$. Comme la réponse peut être très grande, il suffit de l’afficher modulo $998244353$.
On peut prouver qu’il existe toujours au moins une séquence d’opérations permettant de transformer $S$ en $\{k\}$.
$*$ : Le mex d’un multiensemble est le plus petit entier positif ou nul qui n’apparaît pas dans ce multiensemble. Par exemple, $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ et $\operatorname{mex}\varnothing=0$.
Entrée
Ce problème contient plusieurs cas de test.
La première ligne contient un entier strictement positif $t$ ($1 \le t \le 10^5$), représentant le nombre de cas de test.
Pour chaque cas de test :
- La première ligne contient deux entiers $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- La deuxième ligne contient $n$ entiers $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
Il est garanti que la somme des $n$ sur tous les cas de test ne dépasse pas $5 \cdot 10^5$.
Sortie
Pour chaque cas de test, affichez une ligne contenant un entier représentant le nombre minimal de transformations nécessaires pour rendre $S$ égal à $\{k\}$, modulo $998244353$.
Exemples
Entrée 1
6 1 2 1 1 4 4 3 3 0 2 2 4 2 1 0 3 2 4 3 2 1 0 2 3 52 20 2 6
Sortie 1
2 0 3 2 1 262875292
Remarque
Pour le premier cas de test :
- Yuki peut choisir $S'=\varnothing$ lors de la première transformation, obtenant $S=\{0,1\}$, puis choisir $S'=\{0,1\}$ lors de la deuxième transformation, obtenant $S=\{2\}$.
- On peut prouver qu’aucune séquence d’opérations comportant moins de transformations n’existe, donc la réponse est $2$.
Pour le deuxième cas de test :
- Yuki n’a besoin d’effectuer aucune transformation pour obtenir $S=\{4\}$, donc la réponse est $0$.
Pour le troisième cas de test :
- Yuki peut choisir $S'=\varnothing$ lors de la première transformation, obtenant $S=\{0,0,2,2\}$, choisir $S'=\{0,2\}$ lors de la deuxième transformation, obtenant $S=\{0,1,2\}$, puis choisir $S'=\{0,1,2\}$ lors de la troisième transformation, obtenant $S=\{3\}$.
- On peut prouver qu’aucune séquence d’opérations comportant moins de transformations n’existe, donc la réponse est $3$.
Pour le quatrième cas de test :
- Yuki peut choisir $S'=\{2,3\}$ lors de la première transformation, obtenant $S=\{0,0,1\}$, puis choisir $S'=\{0,0,1\}$ lors de la deuxième transformation, obtenant $S=\{2\}$.
- On peut prouver qu’aucune séquence d’opérations comportant moins de transformations n’existe, donc la réponse est $2$.
Pour le cinquième cas de test :
- Yuki peut directement choisir $S'=\{0,1,2,2\}$ lors de la première transformation, obtenant $S=\{3\}$.
- On peut prouver qu’aucune séquence d’opérations comportant moins de transformations n’existe, donc la réponse est $1$.