#include <bits/stdc++.h>
using namespace std;
struct Node {
int no;
int score;
int force;
bool operator<(const Node& n) const {
return this->score > n.score || (this->score == n.score && this->no < n.no);
}
};
int n,r,q;
Node p[200005];
Node nd[200005];
void Merge_Sort(int a,int b,int temp) {
int i = a,j = temp + 1,k = a;
while(i <= temp && j <= b) {
if(p[i] < p[j])
nd[k++] = p[i++];
else
nd[k++] = p[j++];
}
while(i <= temp)
nd[k++] = p[i++];
while(j <= b)
nd[k++] = p[j++];
for(int ai = a;ai <= b;ai ++)
p[ai] = nd[ai];
}
void Merge(int a,int b) {
if(a >= b) return;
int temp = (a + b) / 2;
Merge(a,temp);
Merge(temp+1,b);
Merge_Sort(a,b,temp);
}
int main() {
cin >> n >> r >> q;
n *= 2;
for(int i = 1;i <= n;++ i) {
scanf("%d",&p[i].score);
p[i].no = i;
}
for(int i = 1;i <= n;++ i) {
scanf("%d",&p[i].force);
}
sort(p + 1,p + 1 + n);
for(int i = 0;i < r;++ i) {
for(int i = 1;i <= n;i += 2) {
if(p[i].force > p[i+1].force)
p[i].score ++;
else
p[i+1].score ++;
}
Merge(1,n);
}
cout << p[q].no;
}