#include <vector>
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
  int n, c;
  cin >> n >> c;
  vector<int> a(n);
  for (int i = 0; i < n; i++) cin >> a[i];
  sort(a.begin(), a.end());
  auto i = a.begin();
  long long ans = 0;
  while(i!= a.end() && (*i) + c <= a.back())
  {
    auto j = upper_bound(i, a.end(), (*i));
    ans += (long long)(j - i) * (long long)(upper_bound(j, a.end(), (*i) + c) - lower_bound(j, a.end(), (*i) +c));
    i = j;
  }
  cout << ans;
  return 0;
}
