邻项校准(asum)

题目描述

Y 同学有一个长度为 NN 的整数序列

A=(A1,A2,,AN),A=(A_1,A_2,\ldots,A_N),

以及一个长度为 N1N-1 的整数序列

B=(B1,B2,,BN1).B=(B_1,B_2,\ldots,B_{N-1}).

两个序列中的所有元素均位于 00M1M-1 之间。

Y 同学可以执行任意次以下操作:

  • 选择一个满足 1iN1\le i\le N 的整数 ii,将 AiA_i 增加 11

Y 同学希望经过若干次操作后,对于每个 1i<N1\le i<N,均满足

(Ai+Ai+1)modM=Bi.(A_i+A_{i+1})\bmod M=B_i.

请你求出满足全部条件所需的最少操作次数。

可以证明,在本题给定的数据范围内,一定存在满足条件的操作方案。

输入格式

第一行包含两个整数 N,MN,M,分别表示序列 AA 的长度和模数。

第二行包含 NN 个整数 A1,A2,,ANA_1,A_2,\ldots,A_N

第三行包含 N1N-1 个整数 B1,B2,,BN1B_1,B_2,\ldots,B_{N-1}

输出格式

输出一行一个整数,表示满足全部条件所需的最少操作次数。

样例

样例输入 #1

3 10
4 6 7
5 5

样例输出 #1

5

样例输入 #2

2 3
1 2
2

样例输出 #2

2

样例输入 #3

10 10
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1

样例输出 #3

40

数据范围与约定

对于 100%100\% 的数据,保证:

2N2×105,2\le N\le 2\times 10^5, 3M109,3\le M\le 10^9, 0Ai<M,0\le A_i<M, 0Bi<M.0\le B_i<M.
测试点编号 分值 NN\le MM\le 特殊性质
121\sim 2 1010 2020
353\sim 5 1515 100100 特殊性质 A
686\sim 8 20002000 10410^4 特殊性质 B
9129\sim 12 2020 2×1042\times 10^4 10910^9
131613\sim 16 2×1052\times 10^5
172217\sim 22

特殊性质 A:对于每个 1i<N1\le i<N,均有 Bi=(Ai+Ai+1)modMB_i=(A_i+A_{i+1})\bmod M

特殊性质 B:对于每个 1iN1\le i\le N,均有 Ai=0A_i=0