问题描述
给定一个由 N 个正整数组成的序列 A,以及一个由 N−1 个正整数组成的序列 B。你可以进行以下操作任意次数。
- 选择整数 i 和 j (1≤i<j≤N),并将以下值逐个减去 1:Ai,Aj,Bi,Bi+1,⋯,Bj−1。在此操作之后,这些值不应该为负数。
设 m 是可以执行的最大操作次数。计算在执行 m 次操作后,序列 A 可能的情况数,对 998244353 取模。
约束条件
- 1≤N≤2×105
- 1≤Ai≤109
- 1≤Bi≤109
- 输入中的所有值均为整数。
输入
从标准输入读入数据,格式如下:
N
A1 A2 ⋯ AN
B1 B2 ⋯ BN−1
输出
输出答案。
示例输入 1
3
1 2 2
1 2
示例输出 1
3
在这里,我们有 m=2。经过两次操作,A 可能变为以下三个序列之一。
- A=(1,0,0):执行 (i,j)=(2,3) 和 (i,j)=(2,3) 操作后得到这个结果。
- A=(0,1,0):执行 (i,j)=(1,3) 和 (i,j)=(2,3) 操作后得到这个结果。
- A=(0,0,1):执行 (i,j)=(1,2) 和 (i,j)=(2,3) 操作后得到这个结果。
示例输入 2
4
1 1 1 1
2 2 2
示例输出 2
1
请注意,如果 A 的内容相同,则不区分具有不同 B 内容的两种情况。
示例输入 3
4
2 2 3 4
3 1 4
示例输出 3
3