#agc054f. [agc054_f]Decrement

[agc054_f]Decrement

問題文

長さ NN の正整数列 AA 及び長さ N1N-1 の正整数列 BB が与えられます. あなたは,次の操作を好きな回数行うことができます.

  • 整数 i,ji,j (1leqi<jleqN1 \\leq i < j \\leq N) を選び,Ai,Aj,Bi,Bi+1,cdots,Bj1A_i,A_j,B_i,B_{i+1},\\cdots,B_{j-1} の値をそれぞれ 11 減らす. ただし,操作後に負になる値が存在してはならない.

ここで,操作を行える回数の最大値を mm とおきます. mm 回の操作後の AA としてありえる数列が何通りあるかを 998244353998244353 で割った余りを求めてください.

制約

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 1leqAileq1091 \\leq A_i \\leq 10^9
  • 1leqBileq1091 \\leq B_i \\leq 10^9
  • 入力される値はすべて整数である

入力

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

NN A1A_1 A2A_2 cdots\\cdots ANA_N B1B_1 B2B_2 cdots\\cdots BN1B_{N-1}

出力

答えを出力せよ.


入力例 1

3
1 2 2
1 2

出力例 1

3

m=2m=2 であり,最終的な AA としては以下の 33 通りが考えられます.

  • A=(1,0,0)A=(1,0,0): (i,j)=(2,3)(i,j)=(2,3)(i,j)=(2,3)(i,j)=(2,3) で操作すればよい.
  • A=(0,1,0)A=(0,1,0): (i,j)=(1,3)(i,j)=(1,3)(i,j)=(2,3)(i,j)=(2,3) で操作すればよい.
  • A=(0,0,1)A=(0,0,1): (i,j)=(1,2)(i,j)=(1,2)(i,j)=(2,3)(i,j)=(2,3) で操作すればよい.

入力例 2

4
1 1 1 1
2 2 2

出力例 2

1

BB の値が異なっていても AA の値が同じなら区別しないことに注意してください.


入力例 3

4
2 2 3 4
3 1 4

出力例 3

3