#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e7 + 5;
int read()
{
char ch = getchar();
int x = 0 , f = 1;
while(ch < '0' || ch > '9')
{
if(ch == '-') f = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9')
{
x = x * 10 + ch - '0' , ch = getchar();
}
return x * f;
}
struct point
{
int num , size;
}t[N];
int n = read() , c = read() , a[N] , ans = 0 , x = 1;
main()
{
for(int i = 1 ; i <= n ; i ++)
{
a[i] = read();
}
sort(a + 1 , a + n + 1);
for(int i = 1 ; i <= n ; i ++)
{
if(a[i] == a[i - 1])
{
t[x].num ++;
}
else
{
t[++ x].size = a[i];
t[x].num = 1;
}
}
for(int i = 1 ; i < x ; i ++)
{
for(int j = i + 1 ; j <= x ; j ++)
{
if(t[j].size - t[i].size == c) ans += t[i].num * t[j].num;
}
}
cout << ans;
return 0;
}