#include<stdio.h>
struct student {
int num;
int sum;
int power;
};
void merge(struct student *temp,struct student *a,int low,int mid,int up){
int i=low,j=mid+1,k=low;
while(i<=mid&&j<=up){
if(a[i].sum<a[j].sum) temp[k++]=a[j++];
else if(a[i].sum==a[j].sum) {
if(a[i].num<a[j].num) temp[k++]=a[i++];
else temp[k++]=a[j++];
}else temp[k++]=a[i++];
}
while(i<=mid) temp[k++]=a[i++];
while(j<=up) temp[k++]=a[j++];
for(int i=0;i<k;i++){
a[i]=temp[i];
}
}
void mergesort2(struct student *temp,struct student *a,int low,int up){
int mid;
if(low<up){
mid=(low+up)/2;
mergesort2(temp,a,low,mid);
mergesort2(temp,a,mid+1,up);
merge(temp,a,low,mid,up);
}
}
struct student a[200005],temp[200005];
int main (){
int n,r,q;
int time=0;
scanf("%d%d%d" ,&n,&r,&q);
n=2*n;
for(int i=0;i<n;i++){
a[i].num=i+1;
scanf("%d",&a[i].sum);
}
for(int i=0;i<n;i++) scanf("%d",&a[i].power);
while(time++<=r)
{
mergesort2(temp,a,0,n-1);
for(int i=0;i<n;i++){
if((i+1)%2==0){
if(a[i].power>a[i-1].power)
a[i].sum++;
else{
a[i-1].sum++;
}
}
}
}
printf("%d",a[q-1].num);
}