Вам даны два массива \(a_1, a_2, \dots , a_n\) и \(b_1, b_2, \dots , b_m\). Массив \(b\) отсортирован в порядке возрастания (\(b_i < b_{i + 1}\) верно для любого \(i\) от \(1\) до \(m - 1\)).
Вам нужно разбить массив \(a\) на \(m\) непрерывных подмассивов так, чтобы для всех \(i\) от \(1\) до \(m\) минимум в \(i\)-м подмассиве был равен \(b_i\). Обратите внимание, что каждый элемент должен принадлежать ровно одному подмассиву, и они формируются следующим образом: первые несколько элементов массива \(a\) принадлежат первому подмассиву, следующие несколько элементов массива \(a\) принадлежат второму подмассиву, и так далее.
Например, если \(a = [12, 10, 20, 20, 25, 30]\), а \(b = [10, 20, 30]\), то существует два подходящих разбиения массива \(a\):
- \([12, 10, 20], [20, 25], [30]\);
- \([12, 10], [20, 20, 25], [30]\).
Вам нужно посчитать количество хороших разбиений массива \(a\). Так как это значение может быть слишком велико — выведите его по модулю 998244353.