#include <bits/stdc++.h>
using namespace std;
const int INF = 1000 * 1000 * 1000;
const long long INF64 = 1LL * INF * INF;
const long long mod = INF + 7;
void solve() {
  int m, t, r;
  cin >> m >> t >> r;
  vector<int> w(m);
  for (int i = 0; i < m; ++i) cin >> w[i];
  int cur = 0;
  int c[301] = {};
  int ans = 0;
  for (int i = -301; i <= w.back(); ++i) {
    if (i == w[cur] && c[i] < r) {
      cout << -1 << endl;
      return;
    }
    if (c[w[cur]] - r >= 0) {
      cur++;
      if (cur == w.size()) break;
    }
    if (r - c[w[cur]] == w[cur] - i) {
      ans++;
      for (int j = max(i + 1, 0); j <= min(i + t, 300); ++j) c[j]++;
    }
  }
  cout << ans << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  solve();
  return 0;
}
