Yuki har en multimängd $S=\{s_1,\ldots,s_n\}$ av storlek $n$ och ett heltal $k$.
Yuki definierar en transformation enligt följande:
- Välj en delmängd $S'$ av $S$ (där $S'$ kan vara en tom mängd), ta bort $S'$ från $S$ och lägg till $\operatorname{mex}^{*}$ av $S'$ i $S$.
Nu vill Yuki utföra ett antal transformationer så att $S$ blir $\{k\}$. Du ska hjälpa Yuki att hitta det minsta antalet transformationer som krävs för att göra $S$ lika med $\{k\}$. Eftersom svaret kan vara mycket stort behöver du bara skriva ut svaret modulo $998244353$.
Det kan bevisas att det alltid finns minst en sekvens av operationer som kan omvandla $S$ till $\{k\}$.
$*$: Mex av en multimängd är det minsta icke-negativa heltalet som inte förekommer i multimängden. Till exempel är $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ och $\operatorname{mex}\varnothing=0$.
Indata
Detta problem innehåller flera testfall.
Den första raden innehåller ett positivt heltal $t$ ($1 \le t \le 10^5$), som representerar antalet testfall.
För varje testfall:
- Den första raden innehåller två heltal $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- Den andra raden innehåller $n$ heltal $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
Det garanteras att summan av $n$ över alla testfall inte överstiger $5 \cdot 10^5$.
Utdata
För varje testfall, skriv ut en enda rad som innehåller ett heltal som representerar det minsta antalet transformationer som krävs för att göra $S$ lika med $\{k\}$, modulo $998244353$.
Exempel
Indata 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
Notering
För det 1:a testfallet:
- Yuki kan välja $S'=\varnothing$ i den 1:a transformationen, vilket ger $S=\{0,1\}$, och sedan välja $S'=\{0,1\}$ i den 2:a transformationen, vilket ger $S=\{2\}$.
- Det kan bevisas att det inte finns någon sekvens av operationer med färre transformationer, så svaret är $2$.
För det 2:a testfallet:
- Yuki behöver inte utföra några transformationer för att göra $S=\{4\}$, så svaret är $0$.
För det 3:e testfallet:
- Yuki kan välja $S'=\varnothing$ i den 1:a transformationen, vilket ger $S=\{0,0,2,2\}$, välja $S'=\{0,2\}$ i den 2:a transformationen, vilket ger $S=\{0,1,2\}$, och sedan välja $S'=\{0,1,2\}$ i den 3:e transformationen, vilket ger $S=\{3\}$.
- Det kan bevisas att det inte finns någon sekvens av operationer med färre transformationer, så svaret är $3$.
För det 4:e testfallet:
- Yuki kan välja $S'=\{2,3\}$ i den 1:a transformationen, vilket ger $S=\{0,0,1\}$, och sedan välja $S'=\{0,0,1\}$ i den 2:a transformationen, vilket ger $S=\{2\}$.
- Det kan bevisas att det inte finns någon sekvens av operationer med färre transformationer, så svaret är $2$.
För det 5:e testfallet:
- Yuki kan direkt välja $S'=\{0,1,2,2\}$ i den 1:a transformationen, vilket ger $S=\{3\}$.
- Det kan bevisas att det inte finns någon sekvens av operationer med färre transformationer, så svaret är $1$.