Назовем последовательность целых чисел $$$x_1, x_2, \dots, x_k$$$ MEX-правильной, если для любого $$$i$$$ ($$$1 \le i \le k$$$) выполняется $$$|x_i - \operatorname{MEX}(x_1, x_2, \dots, x_i)| \le 1$$$. Здесь $$$\operatorname{MEX}(x_1, \dots, x_k)$$$ — минимальное неотрицательное целое число, которое не принадлежит набору $$$x_1, \dots, x_k$$$. Например, $$$\operatorname{MEX}(1, 0, 1, 3) = 2$$$, а $$$\operatorname{MEX}(2, 1, 5) = 0$$$.
Вам задан массив $$$a$$$, состоящий из $$$n$$$ целых неотрицательных чисел. Найдите количество непустых МЕХ-правильных подпоследовательностей заданного массива. Количество подпоследовательностей может быть очень большим, поэтому выведите его по модулю $$$998244353$$$.
Примечание: подпоследовательность массива $$$a$$$ — это последовательность $$$[a_{i_1}, a_{i_2}, \dots, a_{i_m}]$$$, удовлетворяющая ограничениям $$$1 \le i_1 < i_2 < \dots < i_m \le n$$$. Если два разных способа выбрать последовательность индексов $$$[i_1, i_2, \dots, i_m]$$$ приводят к одной и той же подпоследовательности, ее следует считать дважды (т. е. две подпоследовательности различны, если различаются последовательности индексов $$$[i_1, i_2, \dots, i_m]$$$).
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^5$$$) — количество наборов входных данных.
Первая строка каждого набора содержит одно целое число $$$n$$$ ($$$1 \le n \le 5 \cdot 10^5$$$).
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$0 \le a_i \le n$$$).
Сумма $$$n$$$ по всем наборам входных данных не превосходит $$$5 \cdot 10^5$$$.
Для каждого набора входных данных выведите одно целое число — количество непустых МЕХ-правильных подпоследовательностей заданного массива, взятое по модулю $$$998244353$$$.
4 3 0 2 1 2 1 0 5 0 0 0 0 0 4 0 1 2 3
4 2 31 7
Подходящие подпоследовательности в первом примере: $$$[0]$$$, $$$[1]$$$, $$$[0,1]$$$ и $$$[0,2]$$$.
Подходящие подпоследовательности во втором примере: $$$[0]$$$ и $$$[1]$$$.
В третьем примере любая непустая подпоследовательность подходит.
Название |
---|