#include<bits/stdc++.h>
using namespace std;
const int mx = 1e6 + 5;
int a[mx] , res[mx];
long long s[mx] , dem=0;
map<int , int> ma;
int n,k;
vector<int>v;
void sub1()
{
    for(int i=1;i<=n;i++)
        for(int j=i;j<=n;j++)
    {
        long long Sum=0;
        for(int l=i;l<=j;l++) Sum+=a[l];
        if(Sum%k==0) dem++;
    }
    cout<<dem;
}
void sub2()
{

    for(int i=1;i<=n;i++)
        for(int j=i;j<=n;j++)
            if((s[j]-s[i-1])%k==0)dem++;
    cout<<dem;
}
void sub3()
{
    int sum=0;
    v.push_back(0);
    for(int i=1;i<=n;i++)
    {
        int t=max(0,-a[i]/k+1);
        sum=(sum+1LL*t*k+a[i])%k;
        v.push_back(sum);
    }
    sort(v.begin(),v.end());
    long long dem=0;int i=0;
    while(i<v.size())
    {
        int j=i+1;
        while(j<v.size()&&v[j]==v[i]) j++;
        dem=dem+(long long )(j-i)*(j-i-1)/2;
        i=j;
    }
    cout<<dem;
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>k;
    for(int i=1;i<=n;i++)cin>>a[i];
    s[1]=a[1];
    for(int i=2;i<=n;i++) s[i]=s[i-1]+a[i];
    sub3();
}
