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`, `?` のいずれか