#include <bits/stdc++.h>
using namespace std;
int n, m, k, a[101], ans = 1000000001;
void in() {
  scanf("%d %d %d", &n, &m, &k);
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
}
void make() {
  if (m <= k)
    printf("0\n");
  else {
    sort(a, a + n, greater<int>());
    for (int i = k - 1; i >= 0; i--) {
      if (k - i > n) continue;
      int remaining = m - i, s = 0;
      for (int j = 0; j < k - i; j++) {
        s += a[j];
        if (s >= remaining) {
          cout << j + 1 << endl;
          return;
        }
      }
      if (s < remaining) {
        for (int j = k - i; j < n; j++) {
          s += a[j];
          s--;
          if (s >= remaining) {
            cout << j + 1 << endl;
            return;
          }
        }
      }
    }
    printf("-1\n");
  }
}
int main() {
  in();
  make();
  return 0;
}
