Yuki memiliki sebuah multihimpunan $S=\{s_1,\ldots,s_n\}$ berukuran $n$ dan sebuah bilangan bulat $k$.
Yuki mendefinisikan transformasi sebagai berikut:
- Pilih subhimpunan $S'$ dari $S$ (dengan $S'$ boleh berupa himpunan kosong), hapus $S'$ dari $S$, dan tambahkan $\operatorname{mex}^{*}$ dari $S'$ ke $S$.
Kini Yuki ingin melakukan beberapa transformasi agar $S$ menjadi $\{k\}$. Bantulah Yuki mencari jumlah transformasi minimum yang diperlukan agar $S$ sama dengan $\{k\}$. Karena jawabannya bisa sangat besar, Anda hanya perlu mengeluarkan jawaban modulo $998244353$.
Dapat dibuktikan bahwa selalu ada setidaknya satu urutan operasi yang dapat mengubah $S$ menjadi $\{k\}$.
$*$: Mex dari multihimpunan adalah bilangan bulat nonnegatif terkecil yang tidak muncul di multihimpunan tersebut. Sebagai contoh, $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$, dan $\operatorname{mex}\varnothing=0$.
Masukan
Soal ini memiliki beberapa kasus uji.
Baris pertama berisi sebuah bilangan bulat positif $t$ ($1 \le t \le 10^5$), yang menyatakan jumlah kasus uji.
Untuk setiap kasus uji:
- Baris pertama berisi dua bilangan bulat $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- Baris kedua berisi $n$ bilangan bulat $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
Dijamin bahwa jumlah $n$ untuk seluruh kasus uji tidak melebihi $5 \cdot 10^5$.
Keluaran
Untuk setiap kasus uji, keluarkan satu baris berisi sebuah bilangan bulat yang menyatakan jumlah transformasi minimum yang diperlukan agar $S$ sama dengan $\{k\}$, modulo $998244353$.
Contoh
Masukan 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
Keluaran 1
2 0 3 2 1 262875292
Catatan
Untuk kasus uji pertama:
- Yuki dapat memilih $S'=\varnothing$ pada transformasi pertama, menghasilkan $S=\{0,1\}$, lalu memilih $S'=\{0,1\}$ pada transformasi kedua, menghasilkan $S=\{2\}$.
- Dapat dibuktikan bahwa tidak ada urutan operasi dengan jumlah transformasi yang lebih sedikit, sehingga jawabannya adalah $2$.
Untuk kasus uji kedua:
- Yuki tidak perlu melakukan transformasi apa pun untuk mendapatkan $S=\{4\}$, sehingga jawabannya adalah $0$.
Untuk kasus uji ketiga:
- Yuki dapat memilih $S'=\varnothing$ pada transformasi pertama, menghasilkan $S=\{0,0,2,2\}$, memilih $S'=\{0,2\}$ pada transformasi kedua, menghasilkan $S=\{0,1,2\}$, lalu memilih $S'=\{0,1,2\}$ pada transformasi ketiga, menghasilkan $S=\{3\}$.
- Dapat dibuktikan bahwa tidak ada urutan operasi dengan jumlah transformasi yang lebih sedikit, sehingga jawabannya adalah $3$.
Untuk kasus uji keempat:
- Yuki dapat memilih $S'=\{2,3\}$ pada transformasi pertama, menghasilkan $S=\{0,0,1\}$, lalu memilih $S'=\{0,0,1\}$ pada transformasi kedua, menghasilkan $S=\{2\}$.
- Dapat dibuktikan bahwa tidak ada urutan operasi dengan jumlah transformasi yang lebih sedikit, sehingga jawabannya adalah $2$.
Untuk kasus uji kelima:
- Yuki dapat langsung memilih $S'=\{0,1,2,2\}$ pada transformasi pertama, menghasilkan $S=\{3\}$.
- Dapat dibuktikan bahwa tidak ada urutan operasi dengan jumlah transformasi yang lebih sedikit, sehingga jawabannya adalah $1$.