#include <iostream>
using namespace std;
#include <algorithm>
struct Player
{
int number;
long long score;
long long ability;
};
bool myCompare(struct Player& a, struct Player& b)
{
if (a.score == b.score)
return a.number < b.number;
return a.score > b.score;
}
int main()
{
int N, R, Q;
struct Player arr[200005];
struct Player win[200005];
struct Player lose[200005];
scanf("%d%d%d", &N, &R, &Q);
for (int i = 0; i <2*N; i++)
{
arr[i].number = i+1;
scanf("%lld",&arr[i].score);
}
for (int i = 0; i < 2 * N; i++)
{
scanf("%lld", &arr[i].ability);
}
sort(arr, arr + 2 * N, myCompare);
while (R--)
{
for (int i = 0; i < 2*N; i+=2)
{
if (arr[i].ability >= arr[i+1].ability)
{
arr[i].score += 2;
win[i / 2] = arr[i];
lose[i / 2] = arr[i + 1];
}
else
{
arr[i+1].score += 2;
win[i / 2] = arr[i + 1];
lose[i / 2] = arr[i];
}
}
merge(win,win+N,lose,lose+N, arr, myCompare);
}
printf("%d", arr[Q-1].number);
return 0;
}