#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, x, k, val;
  cin >> n >> x >> k;
  vector<long long int> tab;
  for (long long int i = 0; i < n; i++) {
    cin >> val;
    tab.push_back(val);
  }
  sort(tab.begin(), tab.end());
  long long int res = 0;
  for (long long int i = 0; i < n; i++) {
    long long int lo = max(x * ((tab.at(i) - 1) / x + k), tab.at(i));
    long long int up = x * ((tab.at(i) - 1) / x + k + 1) - 1;
    vector<long long int>::iterator itup =
        upper_bound(tab.begin(), tab.end(), up);
    vector<long long int>::iterator itlo =
        lower_bound(tab.begin(), tab.end(), lo);
    long long int u = itup - tab.begin();
    long long int l = itlo - tab.begin();
    if (*itlo > up) continue;
    res += u - l;
  }
  cout << res;
  return 0;
}
