output_description: 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.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
      A_1 A_2 ... A_N
attempt: N, M = (list)(map(int, input().split()))
  A = (list)(map(int, input().split()))
  Accum = [0]*(N+1)
  
  
  def comb(n):
      if n >= 2:
          return n*(n-1)//2
      else:
          return 0
  
  
  for i in range(N-1):
      Accum[i+1] = (Accum[i]+A[i+1]) % M
  
  ans = 0
  for i in range(M):
    	if i == 0:
        ans += Accum.count(i)
      else:
      	c = Accum.count(i)
      	ans += comb(c)
  print(ans)
  
problem_description: 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.
samples: [{"input": "3 2\n    4 1 5", "output": "3\n    \n\nThe sum A_l + A_{l+1} + ... + A_r for each pair (l, r) is as follows:\n\n  * Sum for (1, 1): 4\n  * Sum for (1, 2): 5\n  * Sum for (1, 3): 10\n  * Sum for (2, 2): 1\n  * Sum for (2, 3): 6\n  * Sum for (3, 3): 5\n\nAmong these, three are multiples of 2.\n\n* * *"}, {"input": "13 17\n    29 7 5 7 9 51 7 13 8 55 42 9 81", "output": "6\n    \n\n* * *"}, {"input": "10 400000000\n    1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000", "output": "25"}]