#abc259h. [abc259_h]Yet Another Path Counting

[abc259_h]Yet Another Path Counting

問題文

NN 行横 NN 列のマス目があり、上から ii 行目、左から jj 列目のマスには整数のラベル ai,ja_{i,j} が付けられています。
いずれかのマスから始めて右または下に隣接するマスへの移動を 00 回以上繰り返すことで得られる経路のうち、始点と終点のラベルが同じものの個数を 998244353998244353 で割った余りを求めてください。
なお、22 つの経路は通ったマス(始点・終点含む)の集合が異なる場合に区別します。

制約

  • 1leqNleq4001 \\leq N \\leq 400
  • 1leqai,jleqN21 \\leq a_{i,j} \\leq N^2
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN a1,1a_{1,1} ldots\\ldots a1,Na_{1,N} vdots\\vdots aN,1a_{N,1} ldots\\ldots aN,Na_{N,N}

出力

答えを出力せよ。


入力例 1

2
1 3
3 1

出力例 1

6

条件を満たす経路は以下の 66 個です。(上から ii 行目、左から jj 列目のマスを (i,j)(i,j) として、各経路で通るマスを順に示しています)

  • (1,1)(1,1)
  • (1,1)(1,1)(1,2)(1,2)(2,2)(2,2)
  • (1,1)(1,1)(2,1)(2,1)(2,2)(2,2)
  • (1,2)(1,2)
  • (2,1)(2,1)
  • (2,2)(2,2)