#include <bits/stdc++.h>
#define NMAX 10005
using namespace std;
int n , k;
int Male[NMAX] , Female[NMAX];
long long ans ;
void process()
{
cin>> n >> k;
for(int i = 1 ; i <= n ; i++)
{
int height;
cin>>height;
if(height > 0) Male[height]++;
if(height <= 0) Female[-height]++;
}
for(int i = 1 ; i < NMAX ; i++) Male[i] += Male[i-1];
ans += 1ll * Female[0] * Male[k];
for(int height = 1 ; height < NMAX - k ; height++)
{
ans += 1ll * Female[height] * (Male[height + k] - Male[height - 1]);
}
cout<<ans;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(nullptr);
cout.tie(nullptr);
process();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgTk1BWCAgMTAwMDUKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG4gLCBrOwppbnQgTWFsZVtOTUFYXSAsIEZlbWFsZVtOTUFYXTsKCmxvbmcgbG9uZyBhbnMgOwoKdm9pZCBwcm9jZXNzKCkKewogICAgICAgIGNpbj4+IG4gPj4gazsKICAgICAgICBmb3IoaW50IGkgPSAxIDsgaSA8PSBuIDsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBoZWlnaHQ7CiAgICAgICAgICAgICAgICBjaW4+PmhlaWdodDsKCiAgICAgICAgICAgICAgICBpZihoZWlnaHQgPiAwKSAgTWFsZVtoZWlnaHRdKys7CgogICAgICAgICAgICAgICAgaWYoaGVpZ2h0IDw9IDApICBGZW1hbGVbLWhlaWdodF0rKzsKICAgICAgICB9CgogICAgICAgIGZvcihpbnQgaSA9IDEgOyBpIDwgTk1BWCA7IGkrKykgIE1hbGVbaV0gKz0gTWFsZVtpLTFdOwoKICAgICAgICBhbnMgKz0gMWxsICogRmVtYWxlWzBdICogTWFsZVtrXTsKCiAgICAgICAgZm9yKGludCBoZWlnaHQgPSAxIDsgaGVpZ2h0IDwgTk1BWCAtIGsgOyBoZWlnaHQrKykKICAgICAgICB7CiAgICAgICAgICAgICAgICBhbnMgKz0gMWxsICogRmVtYWxlW2hlaWdodF0gKiAoTWFsZVtoZWlnaHQgKyBrXSAtIE1hbGVbaGVpZ2h0IC0gMV0pOwogICAgICAgIH0KCiAgICAgICAgY291dDw8YW5zOwp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBjb3V0LnRpZShudWxscHRyKTsKICAgIHByb2Nlc3MoKTsKICAgIHJldHVybiAwOwp9Cg==