{
TASK:school
LANG:PASCAL
}
var a:array[1..10001] of integer;
b:array[1..10001] of integer;
v:char;
c,d,e,f,i,j,m,n,k,x,el,br,br1,br2,cc,min,kk:integer;
label 7,8,10,11;
begin
readln(n,m,k);
x:=1;
FILLCHAR(A,SIZEOF(A),0);
FILLCHAR(B,SIZEOF(B),0);
for i:=1 to n do
begin
read(c);
read(v);
read(v);
if v='G' then
begin
a[x]:=c;
inc(x);
end
else
begin
b[x]:=c;
inc(x);
end;
read(v);
end;
for i:=1 to m do
 begin
   read(c);
   read(v);
   read(v);
   if v='G' then
    begin
    a[x]:=c;
    inc(x);
    end
   else
   begin
   b[x]:=c;
   inc(x);
   end;
  IF I<>M THEN read(v);
 end;
 READLN(V);
for i:=1 to n+m do
begin
min:=a[i];
kk:=i;
for j:=(i+1) to m+N do
if a[j]>min then
begin
min:=a[j];
kk:=j;
end;
a[kk]:=a[i];
a[i]:=min;
end;
for i:=1 to n+m do
begin
min:=b[i];
kk:=i;
for j:=(i+1) to m+N do
if b[j]>min then
begin
min:=b[j];
kk:=j;
end;
b[kk]:=b[i];
b[i]:=min;
end;
br:=0;
br1:=0;
br2:=0;
for i:=1 to m+n do
begin
if a[i]<>0 then inc(br);
if b[i]<>0 then inc(br1);
end;
if k>br then br2:=k-br;
if k>br1 then br2:=k-br;
cc:=k ;
k:=k;
if k>br then
begin
k:=k-br2;
cc:=cc+br2;
end;
if k>br1 then
begin
k:=k+br2;
cc:=cc-br2;
end;
for I:=1 to m+n do
begin
cc:=cc-1;
if b[i]=0 then cc:=cc+1;
if cc=0 then
begin
write(b[i],' ');
goto 8;
end;
end;
8:for I:=1 to m+n do
begin
k:=k-1;
if a[i]=0 then k:=k+1;
if k=0 then
begin
write(a[i]);
goto 7;
end;
END;
7:end.
