#include <iostream>
#include <algorithm>
int Array[200005];
int N, C, l, r, mid;
int ans = 0;
int LB, RB;
void FindB1(int l, int r, int B)
{
while (l <= r)
{
mid = l + ((r - l) / 2);
if (Array[mid] >= B)
r = mid - 1;
else
l = mid + 1;
}
if (Array[++r] == B)
LB = r;
else
LB = -1;
}
void FindB2(int l, int r, int B)
{
while (l <= r)
{
mid = l + ((r - l) / 2);
if (Array[mid] > B)
r = mid - 1;
else
l = mid + 1;
}
if (Array[--l] == B)
RB = l;
else
RB = -2;
}
int main(void)
{
std::cin >> N >> C;
for (int i = 0; i < N; i++)
{
std::cin >> Array[i];
}
std::sort(Array, Array + N);
int B;
for (int i = 0; i < N; i++)
{
B = Array[i] - C;
if (Array[1] > B)
continue;
FindB1(0, N - 1, B);
FindB2(0, N - 1, B);
ans += RB - LB + 1;
}
std::cout << ans;
return 0;
}