#include <bits/stdc++.h>
using namespace std;
long long modpow(long long a, long long b) {
  if (b == 0) {
    return 1;
  }
  if (b % 2) {
    return a * modpow(a, b - 1) % 1000000007;
  } else {
    long long halfB = b / 2;
    long long half = modpow(a, halfB);
    return half * half % 1000000007;
  }
}
long long calcComb(long long n, long long m) {
  if (m > n - m) {
    return calcComb(n, n - m);
  }
  long long ansMul = 1;
  long long ansDiv = 1;
  for (int i = 0; i < m; i++) {
    ansMul *= (n - i);
    ansDiv *= (i + 1);
    ansMul %= 1000000007;
    ansDiv %= 1000000007;
  }
  return ansMul * modpow(ansDiv, 1000000007 - 2) % 1000000007;
}
int main() {
  cin.tie(NULL);
  ios::sync_with_stdio(false);
  long long N, M;
  cin >> N >> M;
  long long a[N];
  long long sum = 0;
  map<long long, long long> m;
  for (int i = 0; i < N; i++) {
    cin >> a[i];
    sum += a[i];
    m[sum % M]++;
  }
  map<long long, long long>::iterator it = m.begin();
  long long ret = 0;
  for (; it != m.end(); it++) {
    if (it->first == 0) {
      ret += it->second;
    }
    if (it->second >= 2) {
      ret += calcComb(it->second, 2);
    }
  }
  cout << ret << endl;
  return 0;
}
