#include <bits/stdc++.h>
using namespace std;
const int maxn = 310;
int w[maxn], s[maxn * 3], v[maxn * 3];
int main() {
  memset(s, 0, sizeof(s));
  int n, t, r;
  cin >> n >> t >> r;
  for (int i = 1; i <= n; i++) {
    cin >> w[i];
    w[i] += 300;
  }
  if (t < r) {
    cout << -1 << endl;
    return 0;
  }
  int ans = 0;
  w[0] = 0;
  sort(w + 1, w + n + 1);
  for (int i = 1; i <= n; i++) {
    s[w[i]] = s[w[i - 1]];
    for (int j = w[i - 1] + 1; j <= w[i]; j++) s[w[i]] += v[j];
    if (s[w[i]] < r) {
      int d = r - s[w[i]];
      ans += d;
      for (int j = w[i] - 1; j >= w[i] - d; j--) v[j + 1]++, v[j + t + 1]--;
      s[w[i]] = r;
    }
  }
  cout << ans << endl;
  return 0;
}
