#include <bits/stdc++.h>
using namespace std;
int arr[1000][2];
int main() {
  int n, t, k, m = 0;
  cin >> n >> t >> k;
  if (k > t) {
    cout << -1 << endl;
    return 0;
  }
  vector<int> v(n);
  for (int i = 0; i < n; i++) cin >> v[i];
  for (int i = 0; i < n; i++) {
    v[i] += 300;
    for (int j = v[i] - 1; j >= 0 && arr[v[i]][0] < k; j--) {
      if (arr[j][1]) continue;
      m++;
      arr[j][1] = 1;
      for (int jj = j + 1; jj <= j + t; jj++) arr[jj][0]++;
    }
    if (arr[v[i]][0] < k) {
      cout << -1 << endl;
      return 0;
    }
  }
  cout << m << endl;
  return 0;
}
