#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long modpow(long long x, long long p) {
  if (p == 0) return 1;
  if (p % 2)
    return x * modpow(x, p - 1) % mod;
  else {
    long long res = modpow(x, p / 2);
    return res * res % mod;
  }
}
long long comb(long long n, long long r) {
  long long mul = 1;
  long long div1, div2;
  for (long long i = 1; i < n + 1; i++) {
    mul *= i;
    mul %= mod;
    if (i == r) div1 = modpow(mul, mod - 2);
    if (i == n - r) div2 = modpow(mul, mod - 2);
  }
  return mul * div1 % mod * div2 % mod;
}
int main() {
  long long n, m;
  cin >> n >> m;
  vector<long long> a(n);
  for (long long i = 0; i < n; i++) cin >> a[i];
  vector<long long> sum(n + 1, 0);
  for (long long i = 1; i < n + 1; i++) sum[i] = sum[i - 1] + a[i - 1];
  long long debug = 0;
  ;
  map<long long, long long> make_pair;
  for (long long i = 0; i < n + 1; i++) make_pair[sum[i] % m]++;
  long long ans = 0;
  for (auto itr = make_pair.begin(); itr != make_pair.end(); itr++) {
    if (itr->second < 2) continue;
    ans += comb(itr->second, 2);
  }
  cout << ans << endl;
  ;
}
