var a,c1,c2,c:arr;
b:array[1..1000000] of longint;
n,r,q:longint;
////////////////////////////////////////////////////////////////////////////////
procedure fixdu(l,r:longint);
var p1,p2:longint;
time:array[1..2] of longint;
t,t1,t2,t3:boolean;
begin
p1:=l; p2:=p1*2; {time[1]:=a[p1,1];time[2]:=a[p1,2];}time:=a[p1];
t1:=(p2<=r)and((a[p2,2]<time[2])or((a[p2,2]=time[2])and(a[p2,1]>time[1])));
t2:=(p2<r)and((a[p2+1,2]<time[2])or((a[p2+1,2]=time[2])and(a[p2+1,1]>time[1])));
t:=t1 or t2;
while t do
begin
t3:=(p2<r)and((a[p2+1,2]<a[p2,2])or((a[p2+1,2]=a[p2,2])and(a[p2+1,1]>a[p2,1])));
if t3 then inc(p2);
{a[p1,1]:=a[p2,1]; a[p1,2]:=a[p2,2];}a[p1]:=a[p2];
p1:=p2; p2:=p1*2;
t1:=(p2<=r)and((a[p2,2]<time[2])or((a[p2,2]=time[2])and(a[p2,1]>time[1])));
t2:=(p2<r)and((a[p2+1,2]<time[2])or((a[p2+1,2]=time[2])and(a[p2+1,1]>time[1])));
t:=t1 or t2;
end;
a[p1,1]:=time[1];a[p1,2]:=time[2];
end;
////////////////////////////////////////////////////////////////////////////////
procedure dsort;
var i,j,sw:longint;
begin
for i:=n downto 1 do fixdu(i,n*2);
for i:=1 to n*2-1 do
begin
for j:=1 to 2 do
begin
sw:=a[1,j]; a[1,j]:=a[n*2-i+1,j]; a[n*2-i+1,j]:=sw;
end;
fixdu(1,n*2-i);
end;
end;
////////////////////////////////////////////////////////////////////////////////
procedure init;
var i:longint;
begin
readln(n,r,q);
for i:=1 to n*2 do read(a[i,2]);
readln;
for i:=1 to n*2 do a[i,1]:=i;
for i:=1 to n*2 do read(b[i]);
end;
////////////////////////////////////////////////////////////////////////////////
procedure main;
var i,k,p1,p2,p:longint;
begin
dsort;
for k:=1 to r do
begin
for i:=1 to n do
begin
if b[a[2*i-1,1]]>b[a[2*i,1]] then
begin
c1[i,1]:=a[2*i-1,1]; c1[i,2]:=a[2*i-1,2]+1;
c2[i,1]:=a[2*i,1]; c2[i,2]:=a[2*i,2];
end else
begin
c1[i,1]:=a[2*i,1]; c1[i,2]:=a[2*i,2]+1;
c2[i,1]:=a[2*i-1,1]; c2[i,2]:=a[2*i-1,2];
end;
end;
p1:=1; p2:=1; p:=0;
while (p1<=n)and(p2<=n) do
if (c1[p1,2]>c2[p2,2])or((c1[p1,2]=c2[p2,2])and(c1[p1,1]<c2[p2,1])) then
begin
inc(p); a[p]:=c1[p1]; inc(p1);
end else
begin
inc(p); a[p]:=c2[p2]; inc(p2);
end;
if p1<=n then
for i:=p1 to n do
begin
inc(p); a[p]:=c1[i];
end;
if p2<=n then
for i:=p2 to n do
begin
inc(p); a[p]:=c2[i];
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
procedure print;
begin
writeln(a[q,1]);
end;
////////////////////////////////////////////////////////////////////////////////
begin
init;
main;
print;
end.