AT_game_u Rectangle Flip Game
Description
$ H $ 行 $ W $ 列の `0`, `1`, `?` からなるグリッドがあります。上から $ i $ 行目、左から $ j $ 列目のマスをマス $ (i,j) $ と表します。マス $ (i,j) $ には文字 $ S_{i,j} $ が書かれています。
マスに書かれた `?` を `0` または `1` に置き換える方法のうち、以下の問題の答えが Alice となるような置き換え方が何通りあるかを $ 998244353 $ で割ったあまりを求めてください。
> Alice と Bob が与えられたグリッドを使って以下のようなゲームを行います。
>
> - Alice から始めて両者は交互に手番をプレイする。
> - 各手番では、プレイヤーは以下の一連の操作を行う:
> - `1` が書かれたマス $ (i,j) $ を選ぶ。
> - $ R_i \le i' \le i,C_j \le j'\le j $ を満たすマス $ (i',j') $ を選ぶ。
> - 左上をマス $ (i',j') $ 、右下をマス $ (i,j) $ に持つ長方形領域の `0` と `1` を全て反転する。より厳密には、 $ i' \le r\le i,j'\le c\le j $ を満たす全てのマス $ (r,c) $ に対し、マス $ (r,c) $ に `0` が書かれているなら `1` に、`1` が書かれているなら `0` に書き換える。
>
> 先に手番をプレイできなくなったプレイヤーの負けです。
>
> 両者が最善を尽くしたとき、どちらのプレイヤーが勝つかを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ H $ $ W $ $ R_1 $ $ R_2 $ $ \dots $ $ R_H $ $ C_1 $ $ C_2 $ $ \dots $ $ C_W $ $ S_{1,1}S_{1,2}\dots S_{1,W} $ $ S_{2,1}S_{2,2}\dots S_{2,W} $ $ \vdots $ $ S_{H,1}S_{H,2}\dots S_{H,W} $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
マス $ (2,2) $ を `0` に置き換えた場合、Alice は手番をプレイできないので Bob の勝ちです。
マス $ (2,2) $ を `1` に置き換えた場合、Alice は $ (i,j)=(2,2),\ (i',j')=(2,2) $ を選ぶことでマスに書かれた数字を全て `0` にすることができます。したがって、Alice の勝ちです。
### Sample Explanation 2
`?` をどのように置き換えても問題のゲームでは Alice が勝ちます。
### Constraints
- $ 1\le H\le W $
- $ H\times W\le 5\times 10^5 $
- $ 1\le R_i\le i $
- $ 1\le C_j\le j $
- $ S_{i,j} $ は `0`, `1`, `?` のいずれか