#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, j;
  long long N, M;
  long long ans = 0;
  cin >> N >> M;
  long long x[N];
  long long tmp = 0;
  for (int i = 0; i < (N); i++) {
    if (i == 0) {
      x[0] = 0;
    } else {
      cin >> tmp;
      x[i + 1] = x[i] + tmp;
    }
  }
  unordered_map<long long, long long> mp;
  for (int i = 0; i < (M); i++) {
    mp[i] = 0;
  }
  for (int i = 0; i < (N); i++) {
    if (i == 0) {
    } else {
      mp[x[i] % M]++;
    }
  }
  for (int i = 0; i < (M); i++) {
    long long x = mp[i];
    ans += x * (x - 1) / 2;
  }
  cout << ans << endl;
}
