Назовем последовательность целых чисел \(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]\)).
Примечание
Подходящие подпоследовательности в первом примере: \([0]\), \([1]\), \([0,1]\) и \([0,2]\).
Подходящие подпоследовательности во втором примере: \([0]\) и \([1]\).
В третьем примере любая непустая подпоследовательность подходит.