#include <bits/stdc++.h>
using namespace std;
long long n, k, x, v[100005], i, mi, ma, sol;
int st(int l, int r) {
  while (l <= r) {
    int mij = l + (r - l) / 2;
    if (v[mij] >= mi) {
      if (v[mij - 1] < mi || mij == l)
        return mij;
      else
        r = mij - 1;
    } else
      l = mij + 1;
  }
}
int dr(int l, int r) {
  while (l <= r) {
    int mij = l + (r - l) / 2;
    if (v[mij] <= ma) {
      if (v[mij + 1] > ma || mij == r) {
        return mij;
      } else {
        l = mij + 1;
      }
    } else
      r = mij - 1;
  }
}
int main() {
  cin >> n >> x >> k;
  for (i = 1; i <= n; i++) cin >> v[i];
  sort(v + 1, v + 1 + n);
  for (i = 1; i <= n; i++) {
    if (k != 0) {
      if (v[i] % x != 0) {
        mi = v[i] + k * x - v[i] % x;
        ma = mi + x - 1;
      } else {
        mi = v[i] + x * (k - 1);
        ma = mi + x - 1;
      }
    } else {
      if (v[i] % x == 0) {
        mi = 0;
        ma = 0;
      } else {
        if (v[i] < x) {
          mi = v[i];
          ma = x - 1;
        }
        if (v[i] > x) {
          mi = v[i] / x * x + 1;
          ma = mi - 1 + x - 1;
          mi = v[i];
        }
      }
    }
    if (v[st(1, n)] >= mi && v[st(1, n)] <= ma && v[dr(1, n)] >= mi &&
        v[dr(1, n)] <= ma)
      sol = sol + dr(1, n) - st(1, n) + 1;
  }
  cout << sol;
  return 0;
}
