#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,d;
	cin>>n>>d;
	
	if(n <=2 ){
		cout<<0;
		return 0;
	}
	
	vector<int> numbers(n);
	
	for(auto& number: numbers){
		cin>>number;
	}
	
	int answer = 0;
	
	unordered_map<int,int> moduloPairSum;
	
	moduloPairSum[(numbers[0]+numbers[1])%d]++;
	
	for(int i=2; i<n; i++){
		int numModulo = numbers[i]%d;
		int reqModulo = (d-numModulo)%d;
		
		if(moduloPairSum.find(reqModulo) != moduloPairSum.end())answer += moduloPairSum[reqModulo];
		
		for(int j=0; j<i; j++){
			moduloPairSum[(numbers[i] + numbers[j])%d]++;
		}
	}
	
	
	
	cout<<answer;
	
	return 0;
}