Problem10489--ABC105 —— D - Candy Distribution

10489: ABC105 —— D - Candy Distribution

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

There are $N$ boxes arranged in a row from left to right. The $i$-th box from the left contains $A_i$ candies.

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

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

-   $l$ and $r$ are both integers and satisfy $1 \leq l \leq r \leq N$.
-   $A_l + A_{l+1} + ... + A_r$ is a multiple of $M$.

Input

Input is given from Standard Input in the following format:

```
$N$ $M$
$A_1$ $A_2$ $...$ $A_N$
```

Output

Print the number of the pairs $(l, r)$ that satisfy the conditions.

Note that the number may not fit into a $32$-bit integer type.

Constraints

-   All values in input are integers.
-   $1 \leq N \leq 10^5$
-   $2 \leq M \leq 10^9$
-   $1 \leq A_i \leq 10^9$

Sample 1 Input

3 2
4 1 5

Sample 1 Output

3

The sum $A_l+A_{l+1}+...+A_r$ for each pair $(l,r)$ is as follows:

  • Sum for (1,1): 4
  • Sum for (1,2): 5
  • Sum for (1,3): 10
  • Sum for (2,2): 1
  • Sum for (2,3): 6
  • Sum for (3,3): 5

Among these, three are multiples of 2.

Sample 2 Input

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

Sample 2 Output

6

Sample 3 Input

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

Sample 3 Output

25

Source/Category