#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
long long n,m,ans=0;
#define ll long long
const int maxn=1e5+5; 
long long x[maxn],pre[maxn];
int main()
{
	map<ll,ll>mp;
	cin>>n>>m;
	pre[0]=0;
	for(int i=1; i<=n; i++)
	{
		cin>>x[i];
		pre[i]=(pre[i-1]+x[i])%m;
		ans+=mp[pre[i]];
		mp[pre[i]]++;
	}
	cout<<ans+mp[0]<<endl;
/*	while(cin>>n>>m)
	{
		long long x;
		pre[0]=0;
		for(long long i=1; i<=n; i++)
		{
			cin>>x;
			//pre[i]=((pre[i-1]+x)%m+m)%m;
			pre[i]=(pre[i-1]+x)%m;
		}
		sort(pre,pre+n+1);
		long long s=1;
		long long ans=0;
		for(long long i=1; i<=n; i++)
		{
			if(pre[i]==pre[i-1]) s++;
			else
			{
				ans+=s*(s-1)/2;
				s=1;
			}
		}
		ans+=s*(s-1)/2;
		cout<<ans;
	}*/
	return 0;
}
