**
#include <bits/stdc++.h>
using namespace std;
const int maxn=90000000;
int n,m,a[maxn];
int get(int x){
int l=0,r=n+1;
while(l+1<r){
int mid=(l+r)/2;
if(a[mid]==x)r=mid;
else if(a[mid]>x)r=mid;
else l=mid;
}
return r;
}
int get1(int x){
int l=0,r=n+1;
while(l+1<r){
int mid=(l+r)/2;
if(mid==x)l=mid;
else if(a[mid]>x)r=mid;
else l=mid;
}
return l;
}
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
a[0]=-2e9,a[n+1]=2e9;
long long ans=0;
for(int i=1;i<=n;i++){
int x=a[i]+m;
int y=get(x);
if(a[y]!=x)continue;
int z=get1(x);
ans+=z-y+1;
}
cout<<ans<<endl;
return 0;
}
**