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 $ - 入力は全て整数