Для массива \(c\) неотрицательных целых чисел, \(MEX(c)\) обозначает наименьшее неотрицательное целое число, которое в нем не встречается. Например, \(MEX([0, 1, 3]) = 2\), \(MEX([42]) = 0\).
Вам даны целые числа \(n, k\) и массив \([b_1, b_2, \ldots, b_n]\).
Найдите количество массивов \([a_1, a_2, \ldots, a_n]\), для которых выполняются следующие условия:
\(0 \le a_i \le n\) для каждого \(i\) для каждого \(i\) от \(1\) до \(n\).
\(|MEX([a_1, a_2, \ldots, a_i]) - b_i| \le k\) для каждого \(i\) от \(1\) до \(n\).
Поскольку это число может быть очень большим, выведите его по модулю \(998\,244\,353\).
Выходные данные
Выведите одно целое число — количество массивов, удовлетворяющих ограничениям из условия, по модулю \(998\,244\,353\).