Yuki có một đa tập $S=\{s_1,\ldots,s_n\}$ có kích thước $n$ và một số nguyên $k$.
Yuki định nghĩa một phép biến đổi như sau:
- Chọn một tập con $S'$ của $S$ (trong đó $S'$ có thể là tập rỗng), xóa $S'$ khỏi $S$ và thêm $\operatorname{mex}^{*}$ của $S'$ vào $S$.
Bây giờ, Yuki muốn thực hiện một số phép biến đổi để $S$ trở thành $\{k\}$. Bạn cần giúp Yuki tìm số phép biến đổi ít nhất cần thiết để $S$ bằng $\{k\}$. Vì đáp án có thể rất lớn, bạn chỉ cần in đáp án lấy modulo $998244353$.
Có thể chứng minh rằng luôn tồn tại ít nhất một dãy thao tác có thể biến $S$ thành $\{k\}$.
$*$: Mex của một đa tập là số nguyên không âm nhỏ nhất không xuất hiện trong đa tập đó. Ví dụ, $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ và $\operatorname{mex}\varnothing=0$.
Dữ liệu vào
Bài toán này có nhiều bộ dữ liệu kiểm thử.
Dòng đầu tiên chứa một số nguyên dương $t$ ($1 \le t \le 10^5$), biểu thị số bộ dữ liệu kiểm thử.
Với mỗi bộ dữ liệu kiểm thử:
- Dòng đầu tiên chứa hai số nguyên $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
- Dòng thứ hai chứa $n$ số nguyên $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).
Đảm bảo rằng tổng $n$ trên tất cả các bộ dữ liệu kiểm thử không vượt quá $5 \cdot 10^5$.
Dữ liệu ra
Với mỗi bộ dữ liệu kiểm thử, in một dòng chứa một số nguyên biểu thị số phép biến đổi ít nhất cần thiết để $S$ bằng $\{k\}$, lấy modulo $998244353$.
Ví dụ
Dữ liệu vào 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
Dữ liệu ra 1
2 0 3 2 1 262875292
Ghi chú
Với bộ dữ liệu kiểm thử thứ nhất:
- Yuki có thể chọn $S'=\varnothing$ trong phép biến đổi thứ nhất, làm cho $S=\{0,1\}$, rồi chọn $S'=\{0,1\}$ trong phép biến đổi thứ hai, làm cho $S=\{2\}$.
- Có thể chứng minh rằng không tồn tại dãy thao tác với ít phép biến đổi hơn, nên đáp án là $2$.
Với bộ dữ liệu kiểm thử thứ hai:
- Yuki không cần thực hiện phép biến đổi nào để có $S=\{4\}$, nên đáp án là $0$.
Với bộ dữ liệu kiểm thử thứ ba:
- Yuki có thể chọn $S'=\varnothing$ trong phép biến đổi thứ nhất, làm cho $S=\{0,0,2,2\}$, chọn $S'=\{0,2\}$ trong phép biến đổi thứ hai, làm cho $S=\{0,1,2\}$, rồi chọn $S'=\{0,1,2\}$ trong phép biến đổi thứ ba, làm cho $S=\{3\}$.
- Có thể chứng minh rằng không tồn tại dãy thao tác với ít phép biến đổi hơn, nên đáp án là $3$.
Với bộ dữ liệu kiểm thử thứ tư:
- Yuki có thể chọn $S'=\{2,3\}$ trong phép biến đổi thứ nhất, làm cho $S=\{0,0,1\}$, rồi chọn $S'=\{0,0,1\}$ trong phép biến đổi thứ hai, làm cho $S=\{2\}$.
- Có thể chứng minh rằng không tồn tại dãy thao tác với ít phép biến đổi hơn, nên đáp án là $2$.
Với bộ dữ liệu kiểm thử thứ năm:
- Yuki có thể chọn trực tiếp $S'=\{0,1,2,2\}$ trong phép biến đổi thứ nhất, làm cho $S=\{3\}$.
- Có thể chứng minh rằng không tồn tại dãy thao tác với ít phép biến đổi hơn, nên đáp án là $1$.