#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
vector<int> a(n);
for(int i = 0; i < n; i++) {
cin >> a[i];
}
unordered_map<int,int>mp;
int cnt = 0;
for(int i = 0 ; i < n ;i++){
int cur = a[i] - k;
int cur1 = k + a[i];
if(mp.find(cur) != mp.end()){
cnt += mp[cur];
}
if(k != 0 && mp.find(cur1) != mp.end()){
cnt += mp[cur1];
}
mp[a[i]]++;
}
cout<<cnt;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGludCBuLCBrOwogICAgY2luID4+IG4gPj4gazsKCiAgICB2ZWN0b3I8aW50PiBhKG4pOwoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KCiAgICAKCiAgIHVub3JkZXJlZF9tYXA8aW50LGludD5tcDsKICAgaW50IGNudCA9IDA7CiAgICAgIAogIGZvcihpbnQgaSA9IDAgOyBpIDwgbiA7aSsrKXsKICAJCiAgCWludCBjdXIgPSBhW2ldIC0gazsKICAJaW50IGN1cjEgPSBrICsgYVtpXTsKICAJCiAgCWlmKG1wLmZpbmQoY3VyKSAhPSBtcC5lbmQoKSl7CiAgCQljbnQgKz0gbXBbY3VyXTsKICAJfQogIAkKICAJaWYoayAhPSAwICYmIG1wLmZpbmQoY3VyMSkgIT0gbXAuZW5kKCkpewogIAkJY250ICs9IG1wW2N1cjFdOwogIAl9CiAgCW1wW2FbaV1dKys7CiAgfQogICBjb3V0PDxjbnQ7CiAgICByZXR1cm4gMDsKfQ==