#include <bits/stdc++.h>
using namespace std;
int countKdivPairs(int A[], int n, int K)
{
map<int,int> freq;
set<int> s;
int ans = 0;
for (int i = 0; i < n; i++) {
if(s.find(A[i])==s.end())
{
int rem = A[i] % K;
ans += 2*freq[(K - rem) % K];
freq[rem]++;
if((A[i]+A[i])%K==0)
ans++;
cout<<A[i]<<" "<<ans<<"\n";
}
s.insert(A[i]);
}
return ans;
}
int main()
{
int A[] = {0,1,2,3};
int n = sizeof(A) / sizeof(A[0]);
int K = 2;
cout << countKdivPairs(A, n, K);
return 0;
}
CgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAppbnQgY291bnRLZGl2UGFpcnMoaW50IEFbXSwgaW50IG4sIGludCBLKQp7CiAgICBtYXA8aW50LGludD4gZnJlcTsKICAgIHNldDxpbnQ+IHM7CiAgICBpbnQgYW5zID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAJaWYocy5maW5kKEFbaV0pPT1zLmVuZCgpKQogICAgCXsKICAgICAgICAJaW50IHJlbSA9IEFbaV0gJSBLOwogICAgICAgIAlhbnMgKz0gMipmcmVxWyhLIC0gcmVtKSAlIEtdOwogICAgICAgIAlmcmVxW3JlbV0rKzsKICAgICAgICAJaWYoKEFbaV0rQVtpXSklSz09MCkKICAgICAgICAJCWFucysrOwogICAgICAgIAljb3V0PDxBW2ldPDwiICI8PGFuczw8IlxuIjsKICAgIAl9CiAgICAJcy5pbnNlcnQoQVtpXSk7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CgppbnQgbWFpbigpCnsKIAogICAgaW50IEFbXSA9IHswLDEsMiwzfTsKICAgIGludCBuID0gc2l6ZW9mKEEpIC8gc2l6ZW9mKEFbMF0pOwogICAgaW50IEsgPSAyOwogICAgY291dCA8PCBjb3VudEtkaXZQYWlycyhBLCBuLCBLKTsKIAogICAgcmV0dXJuIDA7Cn0=