#include <bits/stdc++.h>
using namespace std;
int main(int argc, const char* argv[]) {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int c, m, t, r, i, W[301], tot, j;
  map<int, bool> used;
  map<int, bool> ends;
  map<int, bool> G;
  cin >> m >> t >> r;
  for (i = 0; i < m; i++) {
    cin >> W[i];
    G[W[i]] = true;
  }
  if (r > t) {
    cout << "-1\n";
    return 0;
  }
  c = 0;
  tot = 0;
  for (i = 0; i <= W[m - 1]; i++) {
    if (G[i] == true) {
      if (c < r) {
        for (j = i - 1; j >= i - t && c < r; j--) {
          if (used[j] == false) {
            used[j] = true;
            ends[j + t] = true;
            c++;
            tot++;
          }
        }
      }
      if (c < r) {
        cout << "-1\n";
        return 0;
      }
    }
    if (ends[i] == true) c--;
  }
  cout << tot << "\n";
  return 0;
}
