Yukilla on kooltaan $n$ oleva monijoukko $S=\{s_1,\ldots,s_n\}$ sekä kokonaisluku $k$.
Yuki määrittelee muunnoksen seuraavasti:
- Valitse joukon $S$ osajoukko $S'$ (missä $S'$ voi olla tyhjä joukko), poista $S'$ joukosta $S$ ja lisää joukon $S'$ $\operatorname{mex}^{*}$ joukkoon $S$.
Nyt Yuki haluaa suorittaa useita muunnoksia niin, että joukosta $S$ tulee $\{k\}$. Sinun tulee auttaa Yukia löytämään pienin muunnosten määrä, jolla joukosta $S$ saadaan $\{k\}$. Koska vastaus voi olla hyvin suuri, sinun tarvitsee vain tulostaa vastaus modulo $998244353$.
Voidaan todistaa, että aina on olemassa vähintään yksi operaatioiden sarja, joka muuntaa joukon $S$ joukoksi $\{k\}$.
$*$: Monijoukon mex on pienin epänegatiivinen kokonaisluku, joka ei esiinny monijoukossa. Esimerkiksi $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ ja $\operatorname{mex}\varnothing=0$.
Syöte
Tässä tehtävässä on useita testitapauksia.
Ensimmäinen rivi sisältää positiivisen kokonaisluvun $t$ ($1 \le t \le 10^5$), joka ilmoittaa testitapausten määrän.
Jokaiselle testitapaukselle:
- Ensimmäinen rivi sisältää kaksi kokonaislukua $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- Toinen rivi sisältää $n$ kokonaislukua $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
On taattu, että lukujen $n$ summa yli kaikkien testitapausten ei ylitä arvoa $5 \cdot 10^5$.
Tuloste
Tulosta jokaiselle testitapaukselle yksi rivi, joka sisältää kokonaisluvun: pienimmän muunnosten määrän, jolla joukosta $S$ saadaan $\{k\}$, modulo $998244353$.
Esimerkit
Syöte 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
Tuloste 1
2 0 3 2 1 262875292
Huomautus
testitapauksessa:
Yuki voi valita 1. muunnoksessa $S'=\varnothing$, jolloin $S=\{0,1\}$, ja valita sitten 2. muunnoksessa $S'=\{0,1\}$, jolloin $S=\{2\}$.
Voidaan todistaa, ettei pienemmällä muunnosmäärällä ole operaatioiden sarjaa, joten vastaus on $2$.
testitapauksessa:
Yukin ei tarvitse suorittaa yhtään muunnosta saadakseen $S=\{4\}$, joten vastaus on $0$.
testitapauksessa:
Yuki voi valita 1. muunnoksessa $S'=\varnothing$, jolloin $S=\{0,0,2,2\}$, valita 2. muunnoksessa $S'=\{0,2\}$, jolloin $S=\{0,1,2\}$, ja valita sitten 3. muunnoksessa $S'=\{0,1,2\}$, jolloin $S=\{3\}$.
Voidaan todistaa, ettei pienemmällä muunnosmäärällä ole operaatioiden sarjaa, joten vastaus on $3$.
testitapauksessa:
Yuki voi valita 1. muunnoksessa $S'=\{2,3\}$, jolloin $S=\{0,0,1\}$, ja valita sitten 2. muunnoksessa $S'=\{0,0,1\}$, jolloin $S=\{2\}$.
Voidaan todistaa, ettei pienemmällä muunnosmäärällä ole operaatioiden sarjaa, joten vastaus on $2$.
testitapauksessa:
Yuki voi valita suoraan 1. muunnoksessa $S'=\{0,1,2,2\}$, jolloin $S=\{3\}$.
- Voidaan todistaa, ettei pienemmällä muunnosmäärällä ole operaatioiden sarjaa, joten vastaus on $1$.