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

int main() {
	// your code goes here
	int n,k;
	cin>>n>>k;
	
	vector<int> v(n);
	for(int i = 0; i < n; i++){
		cin>>v[i];
	}
	
	unordered_map<int,int> ump;
	int cnt = 0;
	
	for(int i = 0; i < n; i++){
		
		// Sometimes v[i] is greater then k then if we did not perform this step which 
		// leads to end up -ve numbers
		
		int ele = v[i] % k;
		
		int rem = (k - ele) % k;
		
		if(ump.count(rem)){
			cnt += ump[rem];
		}
		
		ump[v[i] % k] ++;
	}
	cout<<cnt<<endl;
	return 0;
}