#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MAXN = 1e6 + 10;
int n,b,m,c,ans;
int a[MAXN];
map <int,int> mp;
int check(int k) {
int l = 0,r = m + 1;
while(l + 1 != r) {
int mid = (l + r) >> 1;
if(k - a[mid] <= c) {
r = mid;
}
else {
l = mid;
}
}
return r;
}
signed main() {
scanf("%d %d",&n,&c);
for(int i = 1;i <= n;i++) {
scanf("%d",&b);
if(!mp[b]) {
m ++;
a[m] = b;
}
mp[b] ++;
}
sort(a + 1,a + m + 1);
for(int i = 1;i <= m;i++) {
int pos = check(a[i]);
if(a[i] - a[pos] == c) {
ans += mp[a[i]] * mp[a[pos]];
}
}
printf("%d\n",ans);
return 0;
}