#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:100000000")
int mas[303];
int need[3003];
int main() {
  int m, t, r;
  scanf("%d %d %d", &m, &t, &r);
  if (r > t) {
    printf("-1");
    return 0;
  }
  for (int i = 0; i < m; i++) scanf("%d", &mas[i]), mas[i] += 1000;
  sort(mas, mas + m);
  int ans = 0;
  for (int i = m - 1; i >= 0; i--) {
    int val = mas[i];
    int diff = r;
    for (int j = val; j > val - t; j--) diff -= need[j];
    for (int j = val - t; j < val - t + diff; j++) {
      need[j + 1]++;
      ans++;
    }
  }
  printf("%d", ans);
  return 0;
}
