Yuki har en multimengde $S=\{s_1,\ldots,s_n\}$ av størrelse $n$ og et heltall $k$.
Yuki definerer en transformasjon som følger:
- Velg en delmengde $S'$ av $S$ (der $S'$ kan være en tom mengde), fjern $S'$ fra $S$, og legg til $\operatorname{mex}^{*}$ av $S'$ i $S$.
Nå ønsker Yuki å utføre flere transformasjoner slik at $S$ blir $\{k\}$. Du må hjelpe Yuki med å finne det minste antallet transformasjoner som kreves for å gjøre $S$ lik $\{k\}$. Siden svaret kan være svært stort, trenger du bare å skrive ut svaret modulo $998244353$.
Det kan bevises at det alltid finnes minst én sekvens av operasjoner som kan gjøre om $S$ til $\{k\}$.
$*$: Mex av en multimengde er det minste ikke-negative heltallet som ikke forekommer i multimengden. For eksempel er $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ og $\operatorname{mex}\varnothing=0$.
Inndata
Dette problemet inneholder flere testtilfeller.
Den første linjen inneholder et positivt heltall $t$ ($1 \le t \le 10^5$), som representerer antall testtilfeller.
For hvert testtilfelle:
- Den første linjen inneholder to heltall $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- Den andre linjen inneholder $n$ heltall $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
Det garanteres at summen av $n$ over alle testtilfeller ikke overstiger $5 \cdot 10^5$.
Utdata
For hvert testtilfelle skal du skrive ut én enkelt linje som inneholder et heltall som representerer det minste antallet transformasjoner som kreves for å gjøre $S$ lik $\{k\}$, modulo $998244353$.
Eksempler
Inndata 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
Utdata 1
2 0 3 2 1 262875292
Merk
For det 1. testtilfellet:
- Yuki kan velge $S'=\varnothing$ i den 1. transformasjonen, slik at $S=\{0,1\}$, og deretter velge $S'=\{0,1\}$ i den 2. transformasjonen, slik at $S=\{2\}$.
- Det kan bevises at det ikke finnes noen sekvens av operasjoner med færre transformasjoner, så svaret er $2$.
For det 2. testtilfellet:
- Yuki trenger ikke å utføre noen transformasjoner for å gjøre $S=\{4\}$, så svaret er $0$.
For det 3. testtilfellet:
- Yuki kan velge $S'=\varnothing$ i den 1. transformasjonen, slik at $S=\{0,0,2,2\}$, velge $S'=\{0,2\}$ i den 2. transformasjonen, slik at $S=\{0,1,2\}$, og deretter velge $S'=\{0,1,2\}$ i den 3. transformasjonen, slik at $S=\{3\}$.
- Det kan bevises at det ikke finnes noen sekvens av operasjoner med færre transformasjoner, så svaret er $3$.
For det 4. testtilfellet:
- Yuki kan velge $S'=\{2,3\}$ i den 1. transformasjonen, slik at $S=\{0,0,1\}$, og deretter velge $S'=\{0,0,1\}$ i den 2. transformasjonen, slik at $S=\{2\}$.
- Det kan bevises at det ikke finnes noen sekvens av operasjoner med færre transformasjoner, så svaret er $2$.
For det 5. testtilfellet:
- Yuki kan direkte velge $S'=\{0,1,2,2\}$ i den 1. transformasjonen, slik at $S=\{3\}$.
- Det kan bevises at det ikke finnes noen sekvens av operasjoner med færre transformasjoner, så svaret er $1$.