Universal Cup Judging System

Universal Cup

Time Limit: 1 s Memory Limit: 512 MB Total points: 100 Hackable ✓
Statistics

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$.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.