#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 100;
int a[maxn];
long long n, c, t1, t2, sum = 0;
int ef1(int l, int r, int x){
int ans = -1;
while(l <= r){
int mid = l + (r - l) / 2;
if(a[mid] == x){
ans = mid;
r = mid - 1;
}
if(a[mid] < x) l = mid + 1;
else r = mid - 1;
}
return ans;
}
int ef2(int l, int r, int x){
int ans = -1;
while(l <= r){
int mid = l + (r - l) / 2;
if(a[mid] == x){
ans = mid;
l = mid + 1;
}
if(a[mid] < x) l = mid + 1;
else r = mid - 1;
}
return ans;
}
int main(){
cin >> n >> c;
for(int i = 1; i <= n; i++){
cin >> a[i];
}
sort(a + 1, a + n + 1);
for(int i = 1; i <= n; i++){
t1 = ef1(1, n, a[i] + c);
t2 = ef2(1, n, a[i] + c);
if(t1 != -1 && t2 != -1) sum += t1 - t2 + 1;
}
cout << sum;
return 0;
}