AT_agc057_e [AGC057E] RowCol/ColRow Sort

Description

[problemUrl]: https://atcoder.jp/contests/agc057/tasks/agc057_e $ H\times\ W $ 行列 $ A\ =\ (A_{i,j}) $ ($ 1\leq\ i\leq\ H,\ 1\leq\ j\leq\ W $) に対して、次の操作を考えます。 - **行ソート**:すべての行を昇順にソートする。つまり、すべての $ i $ に対して $ A_{i,1},\ldots,A_{i,W} $ を昇順にソートする。 - **列ソート**:すべての列を昇順にソートする。つまり、すべての $ j $ に対して $ A_{1,j},\ldots,A_{H,j} $ を昇順にソートする。 $ H\times\ W $ 行列 $ B\ =\ (B_{i,j}) $ が与えられます。次の $ 2 $ 条件をともに満たす $ H\times\ W $ 行列 $ A $ の総数を $ 998244353 $ で割った余りを求めてください。 - $ A $ に対して行ソート、列ソートをこの順に行った結果は $ B $ に一致する。 - $ A $ に対して列ソート、行ソートをこの順に行った結果は $ B $ に一致する。

Input Format

入力は以下の形式で標準入力から与えられます。 > $ H $ $ W $ $ B_{1,1} $ $ B_{1,2} $ $ \ldots $ $ B_{1,W} $ $ \vdots $ $ B_{H,1} $ $ B_{H,2} $ $ \ldots $ $ B_{H,W} $

Output Format

条件を満たす行列 $ A $ の総数を $ 998244353 $ で割った余りを出力してください。

Explanation/Hint

### 制約 - $ 1\leq\ H,\ W\leq\ 1500 $ - $ 0\leq\ B_{i,j}\leq\ 9 $ - 任意の $ 1\leq\ i\leq\ H $ および $ 1\leq\ j\leq\ W\ -\ 1 $ に対して $ B_{i,j}\leq\ B_{i,j+1} $ - 任意の $ 1\leq\ j\leq\ W $ および $ 1\leq\ i\leq\ H\ -\ 1 $ に対して $ B_{i,j}\leq\ B_{i+1,j} $ - 入力される値はすべて整数 ### Sample Explanation 1 条件を満たす行列は次の $ 4 $ つです:$ \begin{pmatrix}0&0\\1&2\end{pmatrix} $, $ \begin{pmatrix}0&0\\2&1\end{pmatrix} $, $ \begin{pmatrix}1&2\\0&0\end{pmatrix} $, $ \begin{pmatrix}2&1\\0&0\end{pmatrix} $. 例えば、$ \begin{pmatrix}2&1\\0&0\end{pmatrix} $ が条件を満たすことは次のように確かめられます。 - 行ソート、列ソートをこの順に行う場合:$ \begin{pmatrix}2&1\\0&0\end{pmatrix}\to\ \begin{pmatrix}1&2\\0&0\end{pmatrix}\ \to\ \begin{pmatrix}0&0\\1&2\end{pmatrix} $. - 列ソート、行ソートをこの順に行う場合:$ \begin{pmatrix}2&1\\0&0\end{pmatrix}\to\ \begin{pmatrix}0&0\\2&1\end{pmatrix}\ \to\ \begin{pmatrix}0&0\\1&2\end{pmatrix} $. ### Sample Explanation 2 例えば $ \begin{pmatrix}5&7&6\\3&0&1\\4&8&2\end{pmatrix} $ が条件を満たします。このことは次のように確かめられます。 - 行ソート、列ソートをこの順に行う場合:$ \begin{pmatrix}5&7&6\\3&0&1\\4&8&2\end{pmatrix}\to\ \begin{pmatrix}5&6&7\\0&1&3\\2&4&8\end{pmatrix}\ \to\ \begin{pmatrix}0&1&3\\2&4&7\\5&6&8\end{pmatrix} $. - 列ソート、行ソートをこの順に行う場合:$ \begin{pmatrix}5&7&6\\3&0&1\\4&8&2\end{pmatrix}\to\ \begin{pmatrix}3&0&1\\4&7&2\\5&8&6\end{pmatrix}\ \to\ \begin{pmatrix}0&1&3\\2&4&7\\5&6&8\end{pmatrix} $.