#agc054f. [agc054_f]Decrement

[agc054_f]Decrement

问题描述

给定一个由 NN 个正整数组成的序列 AA,以及一个由 N1N-1 个正整数组成的序列 BB。你可以进行以下操作任意次数。

  • 选择整数 iijj (1i<jN1 \leq i < j \leq N),并将以下值逐个减去 11Ai,Aj,Bi,Bi+1,,Bj1A_i,A_j,B_i,B_{i+1},\cdots,B_{j-1}。在此操作之后,这些值不应该为负数。

mm 是可以执行的最大操作次数。计算在执行 mm 次操作后,序列 AA 可能的情况数,对 998244353998244353 取模。

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Ai1091 \leq A_i \leq 10^9
  • 1Bi1091 \leq B_i \leq 10^9
  • 输入中的所有值均为整数。

输入

从标准输入读入数据,格式如下:

NN

A1A_1 A2A_2 \cdots ANA_N

B1B_1 B2B_2 \cdots BN1B_{N-1}

输出

输出答案。


示例输入 1

3
1 2 2
1 2

示例输出 1

3

在这里,我们有 m=2m=2。经过两次操作,AA 可能变为以下三个序列之一。

  • 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

请注意,如果 AA 的内容相同,则不区分具有不同 BB 内容的两种情况。


示例输入 3

4
2 2 3 4
3 1 4

示例输出 3

3