using System;
using System.Linq;//リストの使用
using System.Collections.Generic;
using System.Text;//テキストの高速出力に必要
class Program
{
	static void Main()
	{
		string[] input = Console.ReadLine().Split(' ');//Splitで区切り文字を指定して複数個受け取る。
		long n = long.Parse(input[0]);
		long m = long.Parse(input[1]);
		long[] nums = Array.ConvertAll(Console.ReadLine().Split(' '),long.Parse);
    long[] sums = new long[n+1];
    sums[0] = 0;
    long sumMemo = 0;
    long answer = 0;
    long counts = new long[m];//余りの個数

    for(int i = 0; i < n; i++)
    {
      sumMemo[i+1] += nums[i];
      sumMemo[i+1] %= m;
    }

    for(int i = 0; i <= n; i++) counts[sums[i]]++;//余りの個数

    for(int i = 0; i < m; i++)
    {
      answer += counts[i] * counts[i];
    }
    
		Console.WriteLine(answer);
	}
}
