Yuki tiene un multiconjunto $S=\{s_1,\ldots,s_n\}$ de tamaño $n$ y un entero $k$.
Yuki define una transformación de la siguiente manera:
- Elige un subconjunto $S'$ de $S$ (donde $S'$ puede ser el conjunto vacío), elimina $S'$ de $S$ y añade el $\operatorname{mex}^{*}$ de $S'$ a $S$.
Ahora Yuki quiere realizar varias transformaciones para que $S$ se convierta en $\{k\}$. Debes ayudar a Yuki a encontrar el mínimo número de transformaciones necesarias para que $S$ sea igual a $\{k\}$. Como la respuesta puede ser muy grande, solo debes imprimirla módulo $998244353$.
Se puede demostrar que siempre existe al menos una secuencia de operaciones que transforma $S$ en $\{k\}$.
$*$: El mex de un multiconjunto es el menor entero no negativo que no aparece en él. Por ejemplo, $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ y $\operatorname{mex}\varnothing=0$.
Entrada
Este problema contiene varios casos de prueba.
La primera línea contiene un entero positivo $t$ ($1 \le t \le 10^5$), que representa el número de casos de prueba.
Para cada caso de prueba:
- La primera línea contiene dos enteros $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- La segunda línea contiene $n$ enteros $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
Se garantiza que la suma de $n$ en todos los casos de prueba no supera $5 \cdot 10^5$.
Salida
Para cada caso de prueba, imprime una línea con un entero que represente el mínimo número de transformaciones necesarias para que $S$ sea igual a $\{k\}$, módulo $998244353$.
Ejemplos
Entrada 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
Salida 1
2 0 3 2 1 262875292
Nota
Para el primer caso de prueba:
- Yuki puede elegir $S'=\varnothing$ en la primera transformación, obteniendo $S=\{0,1\}$, y luego elegir $S'=\{0,1\}$ en la segunda transformación, obteniendo $S=\{2\}$.
- Se puede demostrar que no existe una secuencia de operaciones con menos transformaciones, por lo que la respuesta es $2$.
Para el segundo caso de prueba:
- Yuki no necesita realizar ninguna transformación para obtener $S=\{4\}$, por lo que la respuesta es $0$.
Para el tercer caso de prueba:
- Yuki puede elegir $S'=\varnothing$ en la primera transformación, obteniendo $S=\{0,0,2,2\}$, elegir $S'=\{0,2\}$ en la segunda transformación, obteniendo $S=\{0,1,2\}$, y luego elegir $S'=\{0,1,2\}$ en la tercera transformación, obteniendo $S=\{3\}$.
- Se puede demostrar que no existe una secuencia de operaciones con menos transformaciones, por lo que la respuesta es $3$.
Para el cuarto caso de prueba:
- Yuki puede elegir $S'=\{2,3\}$ en la primera transformación, obteniendo $S=\{0,0,1\}$, y luego elegir $S'=\{0,0,1\}$ en la segunda transformación, obteniendo $S=\{2\}$.
- Se puede demostrar que no existe una secuencia de operaciones con menos transformaciones, por lo que la respuesta es $2$.
Para el quinto caso de prueba:
- Yuki puede elegir directamente $S'=\{0,1,2,2\}$ en la primera transformación, obteniendo $S=\{3\}$.
- Se puede demostrar que no existe una secuencia de operaciones con menos transformaciones, por lo que la respuesta es $1$.