AT_past20_k 良いグリッド
Description
各マスに数が書かれた $ 4 $ 行 $ 4 $ 列のグリッドについて考えます。 上から $ i $ 行目、左から $ j $ 列目のマスを $ (i,j) $ とし、そこに書かれた数を $ a_{i,j} $ とします。 このとき、このグリッドが**良いグリッド**であるとは以下の条件が共に満たされることをいいます:
- 各行に書かれた数が左から右に狭義単調増加している。すなわち、すべての $ i,j\ (1\leq i\leq N, 1\leq j< N) $ について $ a_{i,j} < a_{i,j+1} $
- 各列に書かれた数が上から下に狭義単調増加している。すなわち、すべての $ i,j\ (1\leq i< N, 1\leq j\leq N) $ について $ a_{i,j} < a_{i+1,j} $
各 $ 1\leq i,j\leq 4 $ に対して整数 $ A_{i,j} $ が与えられます。 以下の条件を共に満たす良いグリッドの数を $ 998244353 $ で割った余りを求めてください。
- 各マスには $ 1 $ 以上 $ M $ 以下の整数が書かれている
- 各 $ 1\leq i,j\leq 4 $ に対し、 $ A_{i,j}\neq -1 $ ならばマス $ (i,j) $ には $ A_{i,j} $ が書かれている
Input Format
入力は以下の形式で標準入力から与えられる。
> $ M $ $ A_{1,1} $ $ A_{1,2} $ $ A_{1,3} $ $ A_{1,4} $ $ A_{2,1} $ $ A_{2,2} $ $ A_{2,3} $ $ A_{2,4} $ $ A_{3,1} $ $ A_{3,2} $ $ A_{3,3} $ $ A_{3,4} $ $ A_{4,1} $ $ A_{4,2} $ $ A_{4,3} $ $ A_{4,4} $
Output Format
条件を満たす良いグリッドの数を $ 998244353 $ で割った余りを出力せよ。
Explanation/Hint
### Sample Explanation 1
条件を満たすグリッドは以下の $ 2 $ 通りです。
```
1 2 3 4
2 3 4 5
3 4 5 7
4 5 8 9
```
```
1 2 3 4
2 3 4 5
3 4 6 7
4 5 8 9
```
### Sample Explanation 3
$ 998244353 $ で割った余りを求めることに注意してください。
### Constraints
- $ 1\leq M \leq 30 $
- $ A_{i,j}=-1 $ または $ 1\leq A_{i,j}\leq M $
- 入力は全て整数