#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, k, nsoc = 0, ssoc = 0;
  scanf("%d%d%d", &n, &m, &k);
  int sl[n];
  for (int i = 0; i < n; i++) scanf("%d", &sl[i]);
  sort(sl, sl + n);
  if (k >= m) {
    cout << 0;
    return 0;
  }
  while (k && n--) {
    k--;
    nsoc++;
    ssoc += sl[n];
    if (ssoc + k >= m) {
      cout << nsoc;
      return 0;
    }
  }
  while (n > 0) {
    ssoc--;
    nsoc++;
    ssoc += sl[--n];
    if (ssoc >= m) {
      cout << nsoc;
      return 0;
    }
  }
  cout << -1;
  return 0;
}
