#include <iostream>
#include <math.h>
#include<algorithm>
using namespace std;
long long ab[2000000],c,n,sum=0;
bool rfn(int x,int&wz){
//开始二分
int le=0,ri=n-1,mid;
while(le<=ri) {
mid=(le+ri)/2;//计算中间数
if(ab[mid]==x){
wz=mid;
return true;//找到待查找的数
}
else if(ab[mid]<x)le=mid+1;
else if(ab[mid]>x)ri=mid-1;
}
wz=-1;
return false;
}
int main(){
cin>>n>>c;
for(int i=0;i<n;i++){
cin>> ab[i];
}
sort(ab,ab+n);
for(long long aw=0;aw<n;aw++){
int wz;
if(rfn(ab[aw]+c,wz)){
int suml=0,sumr=0;
for( ;ab[wz-suml]==ab[wz]&&wz-suml>=0;suml++){
;
}
for( ;ab[wz+sumr]==ab[wz]&&wz+sumr<n;sumr++){
;
}
sum=sum+suml+sumr-1;
// cout<<aw<<' ';
}
}
cout<<sum;
}