#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int le,ri,fl;
struct a{
long long m,s,w;
}k[200010],w[100010],l[100010];
int cmp(a aa,a bb)
{
if(aa.s==bb.s)return aa.m<bb.m;
else return aa.s>bb.s;
}
int main()
{
int n,r,q;
cin>>n>>r>>q;
for(int i=1;i<=n*2;i++)scanf("%lld",&k[i].s);
for(int i=1;i<=n*2;i++)scanf("%lld",&k[i].w);
for(int i=1;i<=n*2;i++)k[i].m=i;
sort(k+1,k+n*2+1,cmp);
int ww,ll;
for(int i=1;i<=r;i++)
{
ww=0,ll=0;
for(int j=1;j<=n*2;j+=2)
{
if(k[j].w>k[j+1].w)
{
k[j].s++;
w[++ww]=k[j];
l[++ll]=k[j+1];
}
else
{
k[j+1].s++;
w[++ww]=k[j+1];
l[++ll]=k[j];
}
}
le=1;ri=1;fl=0;
while(1)
{
if(w[le].s>=l[ri].s)k[++fl]=w[le++];
else k[++fl]=l[ri++];
if(le>n||ri>n)
{
if(le>n)
for(int p=ri;p<=ll;p++)
k[++fl]=l[p];
else
for(int p=le;p<=ww;p++)
k[++fl]=w[p];
break;
}
}
}
cout<<k[q].m<<endl;
return 0;
}