Yuki ma multizbiór $S=\{s_1,\ldots,s_n\}$ o rozmiarze $n$ oraz liczbę całkowitą $k$.
Yuki definiuje przekształcenie następująco:
- Wybierz podzbiór $S'$ multizbioru $S$ (przy czym $S'$ może być pusty), usuń $S'$ z $S$ i dodaj $\operatorname{mex}^{*}$ multizbioru $S'$ do $S$.
Teraz Yuki chce wykonać kilka przekształceń, aby $S$ stał się $\{k\}$. Pomóż Yuki znaleźć minimalną liczbę przekształceń potrzebnych, aby $S$ był równy $\{k\}$. Ponieważ odpowiedź może być bardzo duża, wystarczy wypisać ją modulo $998244353$.
Można udowodnić, że zawsze istnieje co najmniej jeden ciąg operacji przekształcający $S$ w $\{k\}$.
$*$: Mex multizbioru to najmniejsza nieujemna liczba całkowita, która w nim nie występuje. Na przykład $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ oraz $\operatorname{mex}\varnothing=0$.
Wejście
To zadanie zawiera wiele przypadków testowych.
Pierwszy wiersz zawiera dodatnią liczbę całkowitą $t$ ($1 \le t \le 10^5$), oznaczającą liczbę przypadków testowych.
Dla każdego przypadku testowego:
- Pierwszy wiersz zawiera dwie liczby całkowite $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- Drugi wiersz zawiera $n$ liczb całkowitych $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
Zagwarantowano, że suma $n$ we wszystkich przypadkach testowych nie przekracza $5 \cdot 10^5$.
Wyjście
Dla każdego przypadku testowego wypisz jeden wiersz z liczbą całkowitą oznaczającą minimalną liczbę przekształceń potrzebnych, aby $S$ był równy $\{k\}$, modulo $998244353$.
Przykład
Wejście 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
Wyjście 1
2 0 3 2 1 262875292
Uwagi
Dla pierwszego przypadku testowego:
- Yuki może wybrać $S'=\varnothing$ w pierwszym przekształceniu, uzyskując $S=\{0,1\}$, a następnie wybrać $S'=\{0,1\}$ w drugim przekształceniu, uzyskując $S=\{2\}$.
- Można udowodnić, że nie istnieje ciąg operacji z mniejszą liczbą przekształceń, więc odpowiedź wynosi $2$.
Dla drugiego przypadku testowego:
- Yuki nie musi wykonywać żadnych przekształceń, aby uzyskać $S=\{4\}$, więc odpowiedź wynosi $0$.
Dla trzeciego przypadku testowego:
- Yuki może wybrać $S'=\varnothing$ w pierwszym przekształceniu, uzyskując $S=\{0,0,2,2\}$, wybrać $S'=\{0,2\}$ w drugim przekształceniu, uzyskując $S=\{0,1,2\}$, a następnie wybrać $S'=\{0,1,2\}$ w trzecim przekształceniu, uzyskując $S=\{3\}$.
- Można udowodnić, że nie istnieje ciąg operacji z mniejszą liczbą przekształceń, więc odpowiedź wynosi $3$.
Dla czwartego przypadku testowego:
- Yuki może wybrać $S'=\{2,3\}$ w pierwszym przekształceniu, uzyskując $S=\{0,0,1\}$, a następnie wybrać $S'=\{0,0,1\}$ w drugim przekształceniu, uzyskując $S=\{2\}$.
- Można udowodnić, że nie istnieje ciąg operacji z mniejszą liczbą przekształceń, więc odpowiedź wynosi $2$.
Dla piątego przypadku testowego:
- Yuki może od razu wybrać $S'=\{0,1,2,2\}$ w pierwszym przekształceniu, uzyskując $S=\{3\}$.
- Można udowodnić, że nie istnieje ciąg operacji z mniejszą liczbą przekształceń, więc odpowiedź wynosi $1$.