#include <bits/stdc++.h>
using namespace std;
int main() {
  vector<int> v;
  int n, m, k, s = 0, p, i;
  cin >> n >> m >> k;
  p = k;
  v.resize(n);
  for (i = 0; i < n; i++) cin >> v[i];
  sort(v.begin(), v.end());
  reverse(v.begin(), v.end());
  for (i = 0; !(p >= m); i++) {
    p--;
    p += v[i];
    s++;
    if ((v[i] == 1 || i + 1 == n && (p < m)) && cout << -1 << endl) exit(0);
  }
  cout << s << endl;
  return 0;
}
