D. Домино
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дано $$$n$$$ домино. Каждое домино имеет левую и правую клетку. Каждая клетка может быть окрашена в черный или белый цвет. Некоторые клетки уже окрашены, а некоторые еще нет.

Раскраска считается допустимой тогда и только тогда, когда можно переставить доминошки в некотором порядке так, чтобы для каждого $$$1 \le i \le n$$$ цвет правой клетки $$$i$$$-го домино отличался от цвета левой клетки $$$((i \bmod n)+1)$$$-го домино.

Обратите внимание, что домино нельзя вращать, поэтому левая клетка всегда остается левой, а правая — правой.

Подсчитайте количество допустимых способов раскрасить еще не раскрашенные клетки домино. Два способа считаются разными, если есть клетка, которая в одном способе окрашивается в белый цвет, а во втором — в черный. В частности, раскраски BW WB и WB BW различны (и обе недопустимы).

Поскольку это число может быть очень большим, выведите его по модулю $$$998\,244\,353$$$.

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

Первая строка ввода содержит одно целое число $$$n$$$ ($$$1 \le n \le 10^5$$$) — количество доминошек.

Следующие $$$n$$$ строк описывают домино. Каждая строка содержит два символа, которые представляют левую и правую клетку. Символ B означает, что соответствующая клетка черная, символ W означает, что соответствующая клетка белая, а ? означает, что клетка еще не окрашена.

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

Выведите одно целое число — ответ на задачу.

Примеры
Входные данные
1
?W
Выходные данные
1
Входные данные
2
??
W?
Выходные данные
2
Входные данные
4
BB
??
W?
??
Выходные данные
10
Примечание

В первом примере есть только одна доминошка, и нам нужно, чтобы цвет ее правой клетки отличался от цвета ее левой клетки. Этого можно добиться только одним способом.

Во втором примере существует только $$$2$$$ таких раскраски:

BB WW и WB WB.