#include<bits/stdc++.h>
#define int long long
using namespace std;
struct player{
int id,s,v;
}a[200007],Right[200007],Left[200007];
bool cmp(player x,player y){
if(x.s!=y.s) return x.s>y.s;
else x.id<y.id;
}
signed main(){
int n,r,q;
cin>>n>>r>>q;
for(int i=1;i<=2*n;i++){
cin>>a[i].s;
a[i].id=i;
}
for(int i=1;i<=2*n;i++){
cin>>a[i].v;
}
sort(a+1,a+1+2*n,cmp);
while(r--){
int cnt1,cnt2;
cnt1=cnt2=0;
for(int i=1;i<=2*n;i+=2){
if(a[i].v<a[i+1].v){
Right[++cnt1]=a[i];
Left[++cnt2]=a[i+1];
Left[cnt2].s+=1;
}else{
Right[++cnt1]=a[i+1];
Left[++cnt2]=a[i];
Left[cnt2].s+=1;
}
}
int i,j,k=0;
i=1,j=1;
while(i<=cnt1&&j<=cnt2){
if(Right[i].s<Left[j].s){
a[++k]=Left[j];
j++;
}else if(Right[i].s>Left[j].s){
a[++k]=Right[i];
i++;
}else if(Right[i].id<Left[j].id){
a[++k]=Right[i];
i++;
}else{
a[++k]=Left[j];
j++;
}
}
while(i<=cnt1) a[++k]=Right[i++];
while(j<=cnt2) a[++k]=Left[j++];
}
cout<<a[q].id;
return 0;
}