AT_abc259_h [ABC259Ex] Yet Another Path Counting

Description

[problemUrl]: https://atcoder.jp/contests/abc259/tasks/abc259_h 縦 $ N $ 行横 $ N $ 列のマス目があり、上から $ i $ 行目、左から $ j $ 列目のマスには整数のラベル $ a_{i,j} $ が付けられています。 いずれかのマスから始めて**右または下**に隣接するマスへの移動を $ 0 $ 回以上繰り返すことで得られる経路のうち、始点と終点のラベルが同じものの個数を $ 998244353 $ で割った余りを求めてください。 なお、$ 2 $ つの経路は通ったマス(始点・終点含む)の集合が異なる場合に区別します。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ a_{1,1} $ $ \ldots $ $ a_{1,N} $ $ \vdots $ $ a_{N,1} $ $ \ldots $ $ a_{N,N} $

Output Format

答えを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 400 $ - $ 1\ \leq\ a_{i,j}\ \leq\ N^2 $ - 入力はすべて整数 ### Sample Explanation 1 条件を満たす経路は以下の $ 6 $ 個です。(上から $ i $ 行目、左から $ j $ 列目のマスを $ (i,j) $ として、各経路で通るマスを順に示しています) - $ (1,1) $ - $ (1,1) $ → $ (1,2) $ → $ (2,2) $ - $ (1,1) $ → $ (2,1) $ → $ (2,2) $ - $ (1,2) $ - $ (2,1) $ - $ (2,2) $