#include <bits/stdc++.h>
using namespace std;
struct Player {
int id; // 编号
long long score; // 总分
int power; // 实力值
};
// 排名规则:总分高的在前;总分相同,编号小的在前
bool better(const Player &a, const Player &b) {
if (a.score != b.score) return a.score > b.score;
return a.id < b.id;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N, R, Q;
cin >> N >> R >> Q;
int M = 2 * N;
vector<Player> p(M);
for (int i = 0; i < M; i++) {
p[i].id = i + 1;
cin >> p[i].score;
}
for (int i = 0; i < M; i++) cin >> p[i].power;
sort(p.begin(), p.end(), better);
vector<Player> winners, losers;
winners.reserve(N);
losers.reserve(N);
for (int r = 0; r < R; r++) {
winners.clear();
losers.clear();
// 按排名两两配对:第 2k-1 名对第 2k 名
for (int k = 0; k < N; k++) {
Player &a = p[2 * k];
Player &b = p[2 * k + 1];
if (a.power > b.power) {
a.score++;
winners.push_back(a);
losers.push_back(b);
} else {
b.score++;
winners.push_back(b);
losers.push_back(a);
}
}
// 胜者序列、败者序列各自已经按 (总分降, 编号升) 有序,归并即得新排名
merge(winners.begin(), winners.end(), losers.begin(), losers.end(), p.begin(), better);
}
cout << p[Q - 1].id << '\n';
return 0;
}