#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+10;
int n,m,a[N],s[N],cnt,tr[2*N],d[N],ss[N];
int lb(int x){return x&-x;}
int qr(int x){int su=0;while(x>=1){su+=tr[x];x-=lb(x);}return su;}
void up(int x){while(x<=m){tr[x]++;x+=lb(x);}}
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++)s[i]=(s[i-1]+a[i])%m,ss[i]=(ss[i-1]+s[i]);
for(int i=n;i>=1;i--)cnt+=(ss[n]-ss[i-1]-s[i-1]*(n-i+1)+m*qr(s[i]-1)),up(s[i]);
cout<<cnt;
return 0;
}
TLE 28,差点把评测机撑爆。