#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
long long n[200009];
map<long long,long long>xy;
long long m;
long long c;
long long erfen(long long l,long long r,long long k){
long long res=0;
long long mid;
if(l==r && n[l] != k){
return -1;
}
if(l==r && n[l] == k) {
res=xy[k];
return res;
}
mid=(l+r)/2;
if (n[mid]<k){
return erfen(mid+1,r,k);
}
if (n[mid]>=k){
return erfen(l,mid,k);
}
}
int main(){
long long sum=0;
scanf("%d%d",&m,&c);
for (long long i=0;i<m;i++){
long long t;
scanf("%d",&t);
n[i]=t;
xy[t]+=1;
}
sort(n , n+m);
for (long long i=0;i<m;i++){
long long l=n[i];
long long j=l+c;
long long res=erfen(0,m,j);
if (res>=1){
sum+=res;
}
}
printf("%d",sum);
return 0;
}