#include <utility>
#include <iostream>
#include <algorithm>
const int MAX = 1e5 + 10;
struct node {
int s, w, id;
};
int N, R, Q;
node a[2 * MAX], t1[MAX], t2[MAX];
bool cmp(const node &A, const node &B) {
return A.s == B.s ? A.id < B.id : A.s > B.s;
}
int main() {
std::cin >> N >> R >> Q;
for (int i = 1; i <= 2 * N; ++i) std::cin >> a[i].s, a[i].id = i;
for (int i = 1; i <= 2 * N; ++i) std::cin >> a[i].w;
std::sort(a + 1, a + 2 * N + 1, cmp);
for (int p, q; R; --R) {
for (int i = 1; i <= N; ++i) {
if (a[2 * i - 1].w > a[2 * i].w)
t1[i] = a[2 * i - 1], t2[i] = a[2 * i];
else
t1[i] = a[2 * i], t2[i] = a[2 * i - 1];
++t1[i].s;
}
p = q = 1, t1[N + 1].s = t2[N + 1].s = -1;
for (int i = 1; i <= 2 * N; ++i) {
if (t1[p].s > t2[q].s || t1[p].s == t2[q].s && t1[p].id < t2[p].id)
a[i] = t1[p++];
else a[i] = t2[q++];
}
}
std::cout << a[Q].id;
return 0;
}