Yuki ha un multinsieme $S=\{s_1,\ldots,s_n\}$ di dimensione $n$ e un intero $k$.
Yuki definisce una trasformazione come segue:
- Scegli un sottoinsieme $S'$ di $S$ (dove $S'$ può essere l'insieme vuoto), rimuovi $S'$ da $S$ e aggiungi il $\operatorname{mex}^{*}$ di $S'$ a $S$.
Ora, Yuki vuole eseguire diverse trasformazioni in modo che $S$ diventi $\{k\}$. Devi aiutare Yuki a trovare il numero minimo di trasformazioni necessarie per rendere $S$ uguale a $\{k\}$. Poiché la risposta può essere molto grande, devi solo stamparla modulo $998244353$.
Si può dimostrare che esiste sempre almeno una sequenza di operazioni in grado di trasformare $S$ in $\{k\}$.
$*$: Il mex di un multinsieme è il più piccolo intero non negativo che non compare nel multinsieme. Ad esempio, $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ e $\operatorname{mex}\varnothing=0$.
Input
Questo problema contiene più casi di test.
La prima riga contiene un intero positivo $t$ ($1 \le t \le 10^5$), che rappresenta il numero di casi di test.
Per ciascun caso di test:
- La prima riga contiene due interi $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- La seconda riga contiene $n$ interi $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
È garantito che la somma di $n$ su tutti i casi di test non supera $5 \cdot 10^5$.
Output
Per ciascun caso di test, stampa una singola riga contenente un intero che rappresenta il numero minimo di trasformazioni necessarie per rendere $S$ uguale a $\{k\}$, modulo $998244353$.
Esempi
Input 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
Output 1
2 0 3 2 1 262875292
Note
Per il 1° caso di test:
- Yuki può scegliere $S'=\varnothing$ nella 1ª trasformazione, rendendo $S=\{0,1\}$, e poi scegliere $S'=\{0,1\}$ nella 2ª trasformazione, rendendo $S=\{2\}$.
- Si può dimostrare che non esiste alcuna sequenza di operazioni con meno trasformazioni, quindi la risposta è $2$.
Per il 2° caso di test:
- Yuki non ha bisogno di eseguire alcuna trasformazione per rendere $S=\{4\}$, quindi la risposta è $0$.
Per il 3° caso di test:
- Yuki può scegliere $S'=\varnothing$ nella 1ª trasformazione, rendendo $S=\{0,0,2,2\}$, scegliere $S'=\{0,2\}$ nella 2ª trasformazione, rendendo $S=\{0,1,2\}$, e poi scegliere $S'=\{0,1,2\}$ nella 3ª trasformazione, rendendo $S=\{3\}$.
- Si può dimostrare che non esiste alcuna sequenza di operazioni con meno trasformazioni, quindi la risposta è $3$.
Per il 4° caso di test:
- Yuki può scegliere $S'=\{2,3\}$ nella 1ª trasformazione, rendendo $S=\{0,0,1\}$, e poi scegliere $S'=\{0,0,1\}$ nella 2ª trasformazione, rendendo $S=\{2\}$.
- Si può dimostrare che non esiste alcuna sequenza di operazioni con meno trasformazioni, quindi la risposta è $2$.
Per il 5° caso di test:
- Yuki può scegliere direttamente $S'=\{0,1,2,2\}$ nella 1ª trasformazione, rendendo $S=\{3\}$.
- Si può dimostrare che non esiste alcuna sequenza di operazioni con meno trasformazioni, quindi la risposta è $1$.