RT
#include<bits/stdc++.h>
using namespace std;
int read(){
char x=getchar();
int s=0,t=1;
while(!isdigit(x)){
if(x=='-') t=-1;
x=getchar();
}
while(isdigit(x)){
s=s*10+x-'0';
x=getchar();
}
return s*t;
}
int n,r,q;
int k1=1,k2=1;
struct node{
int sc,nb,num;
}c[200005],a[200005],b[200005];
bool cmp(node x,node y){return (x.sc!=y.sc)?(x.sc>y.sc):(x.num<y.num);}
void niubi_sort(){
int i=1,j=1,k=1;
while(i<=k1&&j<=k2){
if(cmp(a[i],b[j])) c[k]=a[i],i++;
else c[k]=b[j],j++;
k++;
}
for(;i<=k1;i++) c[k++]=a[i];
for(;j<=k2;j++) c[k++]=b[j];
}
int main(){
n=read(),r=read(),q=read();
n*=2;
for(int i=1;i<=n;i++){c[i].sc=read();c[i].num=i;}
for(int i=1;i<=n;i++) c[i].nb=read();
sort(c+1,c+n+1,cmp);
while(r--){
k1=k2=1;
for(int i=1;i<=n;i+=2){
if(c[i].nb>c[i+1].nb) c[i].sc++,a[k1++]=c[i],b[k2++]=c[i+1];
else c[i+1].sc++,a[k1++]=c[i+1],b[k2++]=c[i];
}
niubi_sort();
}
cout<<c[q].num;
return 0;
}