#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e9 + 5;
const long long INF = 1e18 + 5;
const long long maxn = 5e5 + 5;
long long n = 100000000000, a[1111111], d[522111], y[522111], dp[522111],
          e[555555], b[555555], mx = -1000000001;
pair<pair<int, int>, pair<int, int> > p[555555];
pair<int, int> z[555555];
long long bi(long long x, long long y) {
  if (y == 0) return 1ll;
  if (y == 1) return x;
  long long z = bi(x, y / 2);
  z = z * z % n;
  if (y & 1) z = z * x % n;
  return z % n;
}
char ch[555][555];
int c[1000001];
vector<int> v;
map<long long, long long> m, mm;
int x, k;
bool ok(int z) {
  if (z % x == 0 && k == 1) return 1;
  if (z % x != 0 && k == 0) return 1;
  return 0;
}
int main() {
  cin.tie(0);
  cout.tie(0);
  ios_base::sync_with_stdio(NULL);
  cin >> n >> x >> k;
  for (int i = 1; i <= n; i++) cin >> a[i], mm[a[i]]++;
  sort(a + 1, a + n + 1);
  long long c = 0;
  for (auto& a : mm)
    if (ok(a.first)) c += a.second * (a.second - 1) / 2;
  for (int i = n; i >= 1; i--) {
    int l = a[i] - 1;
    l /= x;
    m[a[i] / x]++, c += m[l + k];
  }
  cout << c;
  return 0;
}
