Yuki hat eine Multimenge $S=\{s_1,\ldots,s_n\}$ der Größe $n$ und eine ganze Zahl $k$.
Yuki definiert eine Transformation wie folgt:
- Wähle eine Teilmenge $S'$ von $S$ (wobei $S'$ leer sein darf), entferne $S'$ aus $S$ und füge den $\operatorname{mex}^{*}$ von $S'$ zu $S$ hinzu.
Nun möchte Yuki mehrere Transformationen durchführen, sodass $S$ zu $\{k\}$ wird. Hilf Yuki, die kleinste Anzahl von Transformationen zu finden, die benötigt wird, damit $S$ gleich $\{k\}$ ist. Da die Antwort sehr groß sein kann, musst du sie nur modulo $998244353$ ausgeben.
Es lässt sich beweisen, dass stets mindestens eine Operationsfolge existiert, die $S$ in $\{k\}$ umwandelt.
$*$: Der mex einer Multimenge ist die kleinste nichtnegative ganze Zahl, die in dieser Multimenge nicht vorkommt. Zum Beispiel gelten $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ und $\operatorname{mex}\varnothing=0$.
Eingabe
Diese Aufgabe enthält mehrere Testfälle.
Die erste Zeile enthält eine positive ganze Zahl $t$ ($1 \le t \le 10^5$), die Anzahl der Testfälle.
Für jeden Testfall:
- Die erste Zeile enthält zwei ganze Zahlen $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- Die zweite Zeile enthält $n$ ganze Zahlen $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
Es ist garantiert, dass die Summe von $n$ über alle Testfälle höchstens $5 \cdot 10^5$ beträgt.
Ausgabe
Gib für jeden Testfall eine Zeile mit einer ganzen Zahl aus: der kleinsten Anzahl von Transformationen, die benötigt wird, damit $S$ gleich $\{k\}$ ist, modulo $998244353$.
Beispiele
Eingabe 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
Ausgabe 1
2 0 3 2 1 262875292
Hinweis
Für den ersten Testfall:
- Yuki kann in der ersten Transformation $S'=\varnothing$ wählen und damit $S=\{0,1\}$ erhalten, und anschließend in der zweiten Transformation $S'=\{0,1\}$ wählen und damit $S=\{2\}$ erhalten.
- Es lässt sich beweisen, dass keine Operationsfolge mit weniger Transformationen existiert, also lautet die Antwort $2$.
Für den zweiten Testfall:
- Yuki muss keine Transformation durchführen, um $S=\{4\}$ zu erhalten, also lautet die Antwort $0$.
Für den dritten Testfall:
- Yuki kann in der ersten Transformation $S'=\varnothing$ wählen und damit $S=\{0,0,2,2\}$ erhalten, in der zweiten Transformation $S'=\{0,2\}$ wählen und damit $S=\{0,1,2\}$ erhalten, und anschließend in der dritten Transformation $S'=\{0,1,2\}$ wählen und damit $S=\{3\}$ erhalten.
- Es lässt sich beweisen, dass keine Operationsfolge mit weniger Transformationen existiert, also lautet die Antwort $3$.
Für den vierten Testfall:
- Yuki kann in der ersten Transformation $S'=\{2,3\}$ wählen und damit $S=\{0,0,1\}$ erhalten, und anschließend in der zweiten Transformation $S'=\{0,0,1\}$ wählen und damit $S=\{2\}$ erhalten.
- Es lässt sich beweisen, dass keine Operationsfolge mit weniger Transformationen existiert, also lautet die Antwort $2$.
Für den fünften Testfall:
- Yuki kann direkt in der ersten Transformation $S'=\{0,1,2,2\}$ wählen und damit $S=\{3\}$ erhalten.
- Es lässt sich beweisen, dass keine Operationsfolge mit weniger Transformationen existiert, also lautet die Antwort $1$.