RT
#include <iostream>
#include <algorithm>
using namespace std;
const int N=2e5+10;
struct node{
int s,id,w;
}a[N];
int n,r,q,lose[N],win[N],s[N];
bool cmp(int x,int y){
if(s[x]==s[y]) return x<y;
return s[x]>s[y];
}
bool cmp1(node aa,node bb){
return aa.s<bb.s;
}
void merge(){
int i,j;
i=j=1,a[0].id=0;
while(i<=win[0]&&j<=lose[0]){
if(cmp(win[i],lose[j])) a[++a[0].id].id=win[i++];
else a[++a[0].id].id=lose[j++];
}while(i<=win[0]) a[++a[0].id].id=win[i++];
while(j<=lose[0]) a[++a[0].id].id=lose[j++];
return ;
}
int main(){
cin>>n>>r>>q;
for(int i=1;i<=n*2;i++) cin>>a[i].s,a[i].id=i;
for(int i=1;i<=n*2;i++) cin>>a[i].w;
sort(a+1,a+2*n+1,cmp1);
while(r--){
for(int i=1;i<=n*2;i++){
if(i%2){
if(a[i].w<a[i+1].w){
a[i+1].s++;s[i+1]++;
win[++win[0]]=a[i+1].id;
lose[++lose[0]]=a[i].id;
}else{
a[i].s++;s[i]++;
win[++win[0]]=a[i].id;
lose[++lose[0]]=a[i+1].id;
}
}
}merge();
}cout<<a[q].id;
return 0;
}