#include <bits/stdc++.h>
using namespace std;
inline bool equal(double _x, double _y) {
  return _x > _y - 1e-9 && _x < _y + 1e-9;
}
int n, k, l;
long long a, sum, b;
multiset<long long> s;
int main() {
  scanf("%d%d%d", &n, &k, &l);
  for (int i = 0; i < n * k; i++) {
    scanf("%lld", &a);
    s.insert(a);
  }
  b = *s.begin();
  if (n == 1) {
    printf("%lld\n", *s.begin());
    return 0;
  }
  bool f = 0;
  while (!s.empty()) {
    auto tt = s.end();
    tt--;
    for (int i = 0; i < k - 1; i++) {
      auto tp = tt;
      if (tp != s.begin()) tp--;
      s.erase(tt);
      tt = tp;
    }
    auto it = s.upper_bound(b + l);
    if (it == s.begin()) {
      f = 1;
      break;
    }
    it--;
    sum += *it;
    s.erase(it);
  }
  if (f == 0)
    printf("%lld\n", sum);
  else
    puts("0");
}
