#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL sum;
LL bserach1(LL q[],LL n,LL a)
{
LL l=0,r=n-1;
LL mid=l+r>>1;
LL vmin;
while(l<=r)
{
mid=l+r>>1;
if(q[mid]>=a){r=mid-1;vmin=mid;}
else l=mid+1;
}
if(q[vmin]==a)return vmin;
else return -1;
}
LL bserach2(LL q[],LL n,LL a)
{
LL l=0,r=n-1;
LL mid=l+r>>1;
LL vmax;
while(l<=r)
{
mid=l+r>>1;
if(q[mid]<=a){l=mid+1;vmax=mid;}
else r=mid-1;
}
if(q[vmax]==a)return vmax;
else return -1;
}
int main()
{
LL n,c;LL q[1000000];
cin>>n>>c;
for(LL i=0;i<n;i++)cin>>q[i];
sort(q,q+n);
LL res1,res2;
for(LL i=0;i<n;i++)
{
LL a=q[i]+c;
res1=bserach1(q,n,a);
if(res1==-1)continue;
else
{
res2=bserach2(q,n,a);
}
sum+=(res2-res1+1);
}
cout<<sum;
return 0;
}