#include <bits/stdc++.h>
using namespace std;
vector<int> a;
int n = 0, m = 0, k = 0;
bool wayToSort(int i, int j) { return i > j; }
int sol() {
  int nfu = 0;
  while (k < m) {
    if (nfu == n) {
      cout << "-1" << endl;
      return 1;
    } else {
      k += a[nfu] - 1;
      nfu++;
    }
  }
  cout << nfu << endl;
}
int main() {
  cin >> n;
  cin >> m;
  cin >> k;
  int tmp;
  a.clear();
  for (int i = 0; i < n; i++) {
    cin >> tmp;
    a.push_back(tmp);
  }
  sort(a.begin(), a.end(), wayToSort);
  sol();
}
