#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,cnt=0;
cin>>n>>k;
vector<int>v(n);
unordered_map<int,int>mp;
for(auto &it:v){
cin>>it;
mp[it]++;
}
for(auto &it:mp){
if(mp.find(it.first-k)!=mp.end()){
if(k==0) cnt+=(it.second*(it.second-1))/2;
else cnt+=it.second*mp[it.first-k];
}
}
cout<<cnt<<"\n";
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7CiAgICBpbnQgbixrLGNudD0wOwogICAgY2luPj5uPj5rOwogICAgdmVjdG9yPGludD52KG4pOwogICAgdW5vcmRlcmVkX21hcDxpbnQsaW50Pm1wOwogICAgZm9yKGF1dG8gJml0OnYpewogICAgICAgIGNpbj4+aXQ7CiAgICAgICAgbXBbaXRdKys7CiAgICB9CiAgICBmb3IoYXV0byAmaXQ6bXApewogICAgICAgIGlmKG1wLmZpbmQoaXQuZmlyc3QtaykhPW1wLmVuZCgpKXsKICAgICAgICAgICAgaWYoaz09MCkgY250Kz0oaXQuc2Vjb25kKihpdC5zZWNvbmQtMSkpLzI7CiAgICAgICAgICAgIGVsc2UgY250Kz1pdC5zZWNvbmQqbXBbaXQuZmlyc3Qta107CiAgICAgICAgICAgIAogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGNudDw8IlxuIjsKICAgIHJldHVybiAwOwp9