Поликарп хочет построить забор возле дома. У него есть в запасе \(n\) белых досок и \(k\) красных досок, которые он может использовать. Каждая доска характеризуется своей длиной — целым числом.
Хороший забор должен состоять из ровно одной красной доски и нескольких (возможно, нуля) белых досок. Красная доска должна быть самой длинной в заборе (каждая белая доска, использованная в заборе, должна быть строго короче), и последовательность длин досок забора должна быть возрастающей перед красной доской и убывающей после нее. Формально, если использовано \(m\) досок, и их длины \(l_1\), \(l_2\), ..., \(l_m\) в порядке их нахождения в заборе слева направо (назовем такой массив \([l_1, l_2, \dots, l_m]\) массивом длин), то должны выполняться следующие условия:
- в заборе должна использоваться ровно одна красная доска (пусть она находится в позиции \(j\));
- для каждого \(i \in [1, j - 1]\) \(l_i < l_{i + 1}\);
- для каждого \(i \in [j, m - 1]\) \(l_i > l_{i + 1}\).
Поликарп построит свой забор следующим образом: он поставит все доски слева направо на землю (высоту \(0\)), без зазоров, то есть эти доски образуют многоугольник:
Пример: забор с массивом длин \([3, 5, 4, 2, 1]\). Вторая доска — красная. Периметр этого забора равен \(20\). Поликарпу интересны только заборы особых периметров. У него есть \(q\) любимых четных целых чисел (назовем их \(Q_1\), \(Q_2\), ..., \(Q_q\)), и для каждого такого \(Q_i\), он хочет посчитать количество различных заборов с периметром \(Q_i\), которые возможно построить (два забора считаются различными, если их массивы длин различны). Можете ли вы помочь ему посчитать эти значения?
Выходные данные
Для каждого \(Q_i\), выведите одно число — количество хороших заборов с периметром \(Q_i\), которые может построить Поликарп, взятое по модулю \(998244353\).