P23836 [AtCoder] Candy Distribution
普及+
题目描述

Problem Statement

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 Input 1

3 2
4 1 5

Sample Output 1

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 Input 2

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

Sample Output 2

6

Sample Input 3

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

Sample Output 3

25

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 2 4 1 5
样例输出
3