#ARC158E. [ARC158E] All Pair Shortest Paths

[ARC158E] All Pair Shortest Paths

配点 : 800800

問題文

22NN 列のマス目があります.上から ii 行目,左から jj 列目のマスを (i,j)(i,j) で表します.(i,j)(i,j) には正整数 xi,jx_{i,j} が書かれています.

22 つのマスは,辺を共有するときに隣接するといいます.

マス XX から YY へのパスとは,相異なるマスからなる列 (P1,,Pn)(P_1, \ldots, P_n) であって,P1=XP_1 = X, Pn=YP_n = Y であり,任意の 1in11\leq i \leq n-1 に対して PiP_iPi+1P_{i+1} が隣接するものをいいます.さらに,そのパスの重みP1,,PnP_1, \ldots, P_n に書かれている整数の総和として定義します.

22 つのマス X,YX, Y に対して,XX から YY へのパスの重みとしてありうる最小値を f(X,Y)f(X, Y) と書くことにします.すべてのマスの 22 つ組 (X,Y)(X,Y) に対する f(X,Y)f(X, Y) の総和を 998244353998244353 で割った余りを求めてください.

制約

  • 1N2×1051\leq N\leq 2\times 10^5
  • 1xi,j1091\leq x_{i,j} \leq 10^9

入力

入力は以下の形式で標準入力から与えられます.

NN

x1,1x_{1,1} \ldots x1,Nx_{1,N}

x2,1x_{2,1} \ldots x2,Nx_{2,N}

出力

すべてのマスの 22 つ組 (X,Y)(X,Y) に対する f(X,Y)f(X, Y) の総和を 998244353998244353 で割った余りを出力してください.

1
3
5
24

次の 44 通りの値の総和を求めます.

  • X=(1,1),Y=(1,1)X = (1,1), Y = (1,1) のとき:f(X,Y)=3f(X, Y) = 3
  • X=(1,1),Y=(2,1)X = (1,1), Y = (2,1) のとき:f(X,Y)=8f(X, Y) = 8
  • X=(2,1),Y=(1,1)X = (2,1), Y = (1,1) のとき:f(X,Y)=8f(X, Y) = 8
  • X=(2,1),Y=(2,1)X = (2,1), Y = (2,1) のとき:f(X,Y)=5f(X, Y) = 5
2
1 2
3 4
76
5
1 1000000000 1 1 1
1 1 1 1000000000 1
66714886