#include <bits/stdc++.h>
#define NMAX 100005
using namespace std;
int n , k;
int Male[NMAX] , Female[NMAX];
int NumMale , NumFemale;
long long ans ;
void process()
{
cin>> n >> k;
for(int i = 1 ; i <= n ; i++)
{
int height;
cin>>height;
if(height > 0) Male[++NumMale] = height;
if(height <= 0 ) Female[++NumFemale] = -height;
}
sort(Male + 1 , Male + NumMale + 1);
for(int i = 1 ; i <= NumFemale ; i++)
{
int l = lower_bound(Male + 1 , Male + NumMale + 1 , Female[i]) - Male;
int r = upper_bound(Male + 1 , Male + NumMale + 1 , Female[i] + k) - Male - 1;
if(l <= r )ans += r - l + 1;
}
cout<<ans;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(nullptr);
cout.tie(nullptr);
process();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgTk1BWCAxMDAwMDUKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG4gLCBrOwppbnQgTWFsZVtOTUFYXSAsIEZlbWFsZVtOTUFYXTsKaW50IE51bU1hbGUgLCBOdW1GZW1hbGU7Cgpsb25nIGxvbmcgYW5zIDsKCnZvaWQgcHJvY2VzcygpCnsKICAgICAgICBjaW4+PiBuID4+IGs7CiAgICAgICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0OwogICAgICAgICAgICAgICAgY2luPj5oZWlnaHQ7CgogICAgICAgICAgICAgICAgaWYoaGVpZ2h0ID4gMCkgICBNYWxlWysrTnVtTWFsZV0gPSBoZWlnaHQ7CgogICAgICAgICAgICAgICAgaWYoaGVpZ2h0IDw9IDAgKSBGZW1hbGVbKytOdW1GZW1hbGVdID0gLWhlaWdodDsKICAgICAgICB9CgogICAgICAgIHNvcnQoTWFsZSArIDEgLCBNYWxlICsgTnVtTWFsZSArIDEpOwoKICAgICAgICBmb3IoaW50IGkgPSAxIDsgaSA8PSBOdW1GZW1hbGUgOyBpKyspCiAgICAgICAgewogICAgICAgICAgICAgICAgaW50IGwgPSBsb3dlcl9ib3VuZChNYWxlICsgMSAsIE1hbGUgKyBOdW1NYWxlICsgMSAsIEZlbWFsZVtpXSkgIC0gTWFsZTsKCiAgICAgICAgICAgICAgICBpbnQgciA9IHVwcGVyX2JvdW5kKE1hbGUgKyAxICwgTWFsZSArIE51bU1hbGUgKyAxICwgRmVtYWxlW2ldICsgaykgLSBNYWxlIC0gMTsKCiAgICAgICAgICAgICAgICBpZihsIDw9IHIgKWFucyArPSByIC0gbCArIDE7CiAgICAgICAgfQoKICAgICAgICBjb3V0PDxhbnM7Cn0KaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIGNvdXQudGllKG51bGxwdHIpOwogICAgcHJvY2VzcygpOwogICAgcmV0dXJuIDA7Cn0K