#include <bits/stdc++.h>
using namespace std;
int main() {
  int m, t, r, f = 0, c, j;
  vector<int> v;
  long long int ans = 0;
  cin >> m >> t >> r;
  int a[m + 1];
  for (int i = 0; i < m; i++) scanf("%d", &a[i]);
  if (r > t) {
    cout << "-1" << endl;
    return 0;
  }
  for (int i = 0; i < m; i++) {
    if (i == 0)
      for (j = 1; j <= r; j++) {
        v.push_back(a[i] - j);
        ans++;
      }
    sort(v.begin(), v.end());
    j = 1;
    while (v[0] + t < a[i]) {
      v.erase(v.begin());
      v.push_back(a[i] - j);
      j++;
      ans++;
      sort(v.begin(), v.end());
    }
  }
  if (f)
    printf("-1\n");
  else
    cout << ans << endl;
  return 0;
}
