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: import collections
  import numpy as np
  
  N,M = list(map(int,input().split()))
  A = input().split()
  
  A = np.array(A,dtype='int64')
  C = np.append([0],np.cumsum(A))
  L = [i%M for i in C]
  L_c = collections.Counter(L)
  
  ans = 0
  for i in L_c.values():
  	S = i * (i-1) / 2
      ans+=S
  print(int(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"}]