#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, a, n, m, k, s = 0, f = 1;
  cin >> n >> m >> k;
  vector<int> v;
  for (i = 0; i < n; i++) {
    cin >> a;
    v.push_back(a);
  }
  sort(v.begin(), v.end(), greater<int>());
  if (m <= k) f = 2;
  if (f != 2) {
    for (i = 0; i < n; i++) {
      k--;
      s += v[i];
      if (k + s >= m) {
        f = 0;
        break;
      }
    }
  }
  if (f == 2)
    cout << "0";
  else if (f == 1)
    cout << "-1";
  else
    cout << i + 1;
  return 0;
}
