#include <bits/stdc++.h>
using namespace std;
int abs(int a) { return (a > 0 ? a : -a); }
int main(void) {
  long long n, m;
  cin >> n >> m;
  vector<long long> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a.at(i);
  }
  vector<long long> s(n);
  s.at(0) = a.at(0);
  for (long long i = 1; i <= n - 1; i++) {
    s.at(i) = s.at(i - 1) + a.at(i);
  }
  for (long long i = 0; i < n; i++) {
    s.at(i) %= m;
  }
  sort(s.begin(), s.end());
  long long i = 0;
  vector<long long> t;
  long long ans = 0;
  while (i < s.size() - 1) {
    long long cnt = 0;
    while (s.at(i) == s.at(i + 1)) {
      if (s.at(i) == 0) {
        ans++;
      }
      cnt++;
      i++;
    }
    if (s.at(i) == 0) {
      ans++;
    }
    if (cnt != 0) {
      t.push_back(cnt + 1);
    }
    i++;
  }
  for (long long j = 0; j < t.size(); j++) {
    ans += (t.at(j) * (t.at(j) - 1)) / 2;
  }
  cout << ans << endl;
  return 0;
}
