#include <iostream>
#include <map>
#include <algorithm>
using namespace std;
map<long long,int>M;
map<long long, int>::iterator it;
int main()
{
long long N, C;
cin >> N >> C;
for (int i = 0; i < N; i++)
{
long long a;
cin >> a;
M[a]++;
}
int ans = 0;
for (it = M.begin(); it != M.end(); it++)
{
if(M.find(it->first+C)!=M.end())
ans += it->second*M[it->first + C];
}
cout << ans << endl;
return 0;
}