问题陈述
给定一个由 N 个非负整数组成的序列 A=(A1,A2,…,AN) 和一个正整数 M。
求以下值:
$$\sum_{1 \leq l \leq r \leq N} \left( \left(\sum_{l \leq i \leq r} A_i\right) \mathbin{\mathrm{mod}} M \right).$$
这里,XmodM 表示非负整数 X 除以 M 的余数。
约束
- 1≤N≤2×105
- 1≤M≤2×105
- 0≤Ai≤109
输入
输入从标准输入按以下格式给出:
NM
A1A2…AN
输出
输出答案。
样例输入 1
3 4
2 5 0
样例输出 1
10
- A1modM=2
- (A1+A2)modM=3
- (A1+A2+A3)modM=3
- A2modM=1
- (A2+A3)modM=1
- A3modM=0
这些值的和为 10。注意,外层的求和不对 M 取模。
样例输入 2
10 100
320 578 244 604 145 839 156 857 556 400
样例输出 2
2736