#include <bits/stdc++.h>
using namespace std;
int N, K;
long long B;
long long A[100005], Ac[100005];
int main() {
  cin >> N >> K >> B;
  map<long long, int> ct;
  for (int i = 0; i < N; i++) {
    cin >> A[i];
    ct[A[i]]++;
  }
  ct[A[N - 1]]--;
  for (int i = 0; i < N - 1; i++) Ac[i] = A[i];
  sort(Ac, Ac + N - 1);
  reverse(Ac, Ac + N - 1);
  if (K >= N) K = N - 1;
  long long presum = 0;
  long long nth = Ac[K - 1];
  for (int i = 0; i < K; i++) presum += Ac[i];
  for (int i = 0; i < N - 1; i++) {
    long long s = presum - max(nth, A[i]);
    if (s + A[i] > B) {
      cout << i + 1 << "\n";
      return 0;
    }
  }
  cout << N << "\n";
}
