#ABC105D. Candy Distribution

Candy Distribution

题目描述

There are NN boxes arranged in a row from left to right. The ii-th box from the left contains AiA_i candies.

You will take out the candies from some consecutive boxes and distribute them evenly to MM children.

Such being the case, find the number of the pairs (l,r)(l, r) that satisfy the following:

  • ll and rr are both integers and satisfy 1lrN1 \leq l \leq r \leq N.
  • Al+Al+1+...+ArA_l + A_{l+1} + ... + A_r is a multiple of MM.

NN 个盒子,从左到右排成一排。左边的 ii 个盒子里有 AiA_i 颗糖果。

你要从连续的几个盒子中拿出糖果,然后平均分配给 MM 个孩子。

在这种情况下,求满足下面条件的 (l,r)(l, r) 对的个数:

  • llrr 都是整数,且满足 1lrN1 \leq l \leq r \leq N
  • Al+Al+1+...+ArA_l + A_{l+1} + ... + A_rMM 的倍数。

输入格式

输入内容按以下格式标准输入:

NN MM
A1A_1 A2A_2 ...... ANA_N

输出格式

打印满足条件的线对 (l,r)(l, r) 的数量。

注意,这个数字可能不适合 3232 (位)整数类型。

样例 #1

样例输入 #1

3 2
4 1 5

样例输出 #1

3

样例 #2

样例输入 #2

13 17
29 7 5 7 9 51 7 13 8 55 42 9 81

样例输出 #2

6

样例 #3

样例输入 #3

10 400000000
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

样例输出 #3

25

说明

数据规模与约定

  • 所有输入值均为整数。
  • 1N1051 \leq N \leq 10^5
  • 2M1092 \leq M \leq 10^9
  • 1Ai1091 \leq A_i \leq 10^9

样例 11 解释

每对 (l,r)(l, r) 的总和 Al+Al+1+...+ArA_l + A_{l+1} + ... + A_r 如下:

  • (1,1)(1, 1) 的总和: 44
  • (1,2)(1, 2) 的总和: 55
  • (1,3)(1, 3) 的总和: 1010
  • (2,2)(2, 2) 的总和: 11
  • (2,3)(2, 3) 的总和: 66
  • (3,3)(3, 3) 的总和: 55

其中有三个是 22 的倍数。