#include <bits/stdc++.h>
using namespace std;
int main() {
  int filter, socket, device, i = 0;
  cin >> filter >> device >> socket;
  int a[50];
  for (int j = 0; j < filter; j++) {
    cin >> a[j];
  }
  sort(a, a + filter);
  int num = 0, b = 0, c = socket;
  for (i = 0; c < device; i++) {
    b = a[filter - i - 1];
    c = c + b - 1;
  }
  if (i <= filter && c >= device)
    cout << i << endl;
  else
    cout << "-1" << endl;
  return 0;
}
