#include <bits/stdc++.h>
using namespace std;
int main() {
  int m, t, r;
  cin >> m >> t >> r;
  int s = r;
  int x[m];
  int y[r];
  int y1[r];
  for (int i = 0; i < m; i++) {
    cin >> x[i];
  }
  sort(x, x + m);
  for (int i = 0; i < r; i++) {
    y[i] = x[0] - r + i;
    y1[i] = y[i] + t;
  }
  if (t >= r) {
    for (int i = 1; i < m; i++) {
      int o = 0;
      for (int j = 0; j < r; j++) {
        if (x[i] > y1[j]) {
          s++;
          o++;
        }
      }
      for (int j = 0; j < r; j++) {
        if (x[i] > y1[j]) {
          y[j] = x[i] - o;
          y1[j] = y[j] + t;
          o--;
        }
      }
    }
    cout << s << endl;
  } else {
    cout << -1 << endl;
  }
}
