#include<bits/stdc++.h>
using namespace std;
main(){
int n,k;
cin>>n>>k;
unordered_map<int,int>mp;
int a,cnt=0;
for(int i=0;i<n;i++){
cin>>a;
if(mp.find(a-k)!=mp.end()){
cnt+=mp[a-k];
}
if(mp.find(a+k)!=mp.end()){
cnt+=mp[a+k];
}
mp[a]++;
}
if(k==0){
cnt=0;
for(auto &it:mp){
cnt+=(it.second*(it.second-1))/2;
}
}
cout<<cnt<<"\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCm1haW4oKXsKICAgIGludCBuLGs7CiAgICBjaW4+Pm4+Pms7CiAgICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+bXA7CiAgICBpbnQgYSxjbnQ9MDsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIGNpbj4+YTsKICAgICAgICBpZihtcC5maW5kKGEtaykhPW1wLmVuZCgpKXsKICAgICAgICAgICAgY250Kz1tcFthLWtdOwogICAgICAgIH0KICAgICAgICBpZihtcC5maW5kKGEraykhPW1wLmVuZCgpKXsKICAgICAgICAgICAgY250Kz1tcFthK2tdOwogICAgICAgIH0KICAgICAgICBtcFthXSsrOwogICAgfQogICAgaWYoaz09MCl7CiAgICAgICAgY250PTA7CiAgICAgICAgZm9yKGF1dG8gJml0Om1wKXsKICAgICAgICAgICAgY250Kz0oaXQuc2Vjb25kKihpdC5zZWNvbmQtMSkpLzI7CiAgICAgICAgfQogICAgfQogICAgY291dDw8Y250PDwiXG4iOwp9