Yuki tem um multiconjunto $S=\{s_1,\ldots,s_n\}$ de tamanho $n$ e um inteiro $k$.
Yuki define uma transformação da seguinte forma:
- Escolhe um subconjunto $S'$ de $S$ (onde $S'$ pode ser vazio), remove $S'$ de $S$ e adiciona o $\operatorname{mex}^{*}$ de $S'$ a $S$.
Agora, Yuki quer realizar várias transformações para que $S$ se torne $\{k\}$. Deves ajudar Yuki a encontrar o número mínimo de transformações necessárias para tornar $S$ igual a $\{k\}$. Como a resposta pode ser muito grande, basta imprimir a resposta módulo $998244353$.
Pode provar-se que existe sempre pelo menos uma sequência de operações que transforma $S$ em $\{k\}$.
$*$: O mex de um multiconjunto é o menor inteiro não negativo que não aparece nesse multiconjunto. Por exemplo, $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ e $\operatorname{mex}\varnothing=0$.
Entrada
Este problema contém vários casos de teste.
A primeira linha contém um inteiro positivo $t$ ($1 \le t \le 10^5$), que representa o número de casos de teste.
Para cada caso de teste:
- A primeira linha contém dois inteiros $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- A segunda linha contém $n$ inteiros $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
É garantido que a soma de $n$ em todos os casos de teste não excede $5 \cdot 10^5$.
Saída
Para cada caso de teste, imprime uma linha com um inteiro que representa o número mínimo de transformações necessárias para tornar $S$ igual a $\{k\}$, módulo $998244353$.
Exemplos
Entrada 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
Saída 1
2 0 3 2 1 262875292
Nota
Para o primeiro caso de teste:
- Yuki pode escolher $S'=\varnothing$ na primeira transformação, obtendo $S=\{0,1\}$, e depois escolher $S'=\{0,1\}$ na segunda transformação, obtendo $S=\{2\}$.
- Pode provar-se que não existe uma sequência de operações com menos transformações, pelo que a resposta é $2$.
Para o segundo caso de teste:
- Yuki não precisa de realizar qualquer transformação para obter $S=\{4\}$, pelo que a resposta é $0$.
Para o terceiro caso de teste:
- Yuki pode escolher $S'=\varnothing$ na primeira transformação, obtendo $S=\{0,0,2,2\}$, escolher $S'=\{0,2\}$ na segunda transformação, obtendo $S=\{0,1,2\}$, e depois escolher $S'=\{0,1,2\}$ na terceira transformação, obtendo $S=\{3\}$.
- Pode provar-se que não existe uma sequência de operações com menos transformações, pelo que a resposta é $3$.
Para o quarto caso de teste:
- Yuki pode escolher $S'=\{2,3\}$ na primeira transformação, obtendo $S=\{0,0,1\}$, e depois escolher $S'=\{0,0,1\}$ na segunda transformação, obtendo $S=\{2\}$.
- Pode provar-se que não existe uma sequência de operações com menos transformações, pelo que a resposta é $2$.
Para o quinto caso de teste:
- Yuki pode escolher diretamente $S'=\{0,1,2,2\}$ na primeira transformação, obtendo $S=\{3\}$.
- Pode provar-se que não existe uma sequência de operações com menos transformações, pelo que a resposta é $1$.