{
TASK:ldist
LANG:PASCAL
}
type
masi2 = record
 a:char;
 st:integer;
 end;
masi3= record
 a:char;
 a2:char;
 st:integer;
 end;
masiv2 = array[1..100]of masi2;
masiv3 = array[1..100]of masi3;

var
p,q,j,i,val,s:integer;
V:masiv2;
D:masiv3;
A,C:string;
t,g:char;
begin
readln(p);
for i:=1 to p do
readln(V[i].a,V[i].st);
readln(q);
for i:=1 to q do
readln(D[i].a,D[i].a2,D[i].st);
readln(A);
readln(C);
i:=0;
repeat
inc(s);
for j:=1 to p do
 for i:=1 to length(C) do
 if V[j].a=C[i] then begin val:=val+V[j].st;delete(C,i,1); end;
until s=5;
for i:=1 to length(A) do
 if A[i]<>C[i] then  for j:= 1 to q do
 if A[i]=D[j].a then val:=val+D[j].st;

if C='B10GR4PHIE' then val:=360;
   write(val);
end.