E. Беспалиндромные массивы
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Назовем массив $$$b$$$ плохим если он содержит последовательный отрезок $$$b_l, b_{l+1}, \dots, b_{r}$$$ нечетной длины больше $$$1$$$ ($$$l < r$$$ и $$$r - l + 1$$$ нечетно) такой что $$$\forall i \in \{0, 1, \dots, r - l\}$$$ $$$b_{l + i} = b_{r - i}$$$.

Если массив не плохой, то он хороший.

Вам задан массив $$$a_1, a_2, \dots, a_n$$$. Некоторые его элементы равны $$$-1$$$. Посчитайте количество хороших массивов, которое вы можете получить, заменив все $$$-1$$$ на какие-то числа от $$$1$$$ до $$$k$$$.

Так как ответ может быть большим, выведите его по модулю $$$998244353$$$.

Входные данные

Первая строка содержит два числа $$$n$$$ и $$$k$$$ ($$$2 \le n, k \le 2 \cdot 10^5$$$) — длина массива $$$a$$$ и размер "алфавита", т. е., максимальное число, на которое вы можете заменять $$$-1$$$.

Вторая строка содержит $$$n$$$ чисел $$$a_1, a_2, \dots, a_n$$$ ($$$a_i = -1$$$ or $$$1 \le a_i \le k$$$) — массив $$$a$$$.

Выходные данные

Выведите единственное число — количество хороших массивов, которые вы можете получить по модулю $$$998244353$$$.

Примеры
Входные данные
2 3
-1 -1
Выходные данные
9
Входные данные
5 2
1 -1 -1 1 2
Выходные данные
0
Входные данные
5 3
1 -1 -1 1 2
Выходные данные
2
Входные данные
4 200000
-1 -1 12345 -1
Выходные данные
735945883