// SIMILAR TO TWO SUM
long getDiscountPairs(int x, vector<int> &price) {
long i, n=price.size(), res=0;
for(i=0;i<n;i++) {
price[i]%=x;
if(!price[i]) res++;
}
res=(res*(res-1)/2);
unordered_map<int,int> m;
for(i=0;i<n;i++) {
if(!price[i]) continue;
if(m[x-price[i]]) res+=m[x-price[i]];
m[price[i]]++;
}
return res;
}