while 0<n=gets.to_i
c={}
n.times{a,b=gets.split;c[a]=b.to_i}
r={}
gets.to_i.times{a,_,*b=gets.chop.split;r[a]=b}
m=Hash.new{|h,k|h[k]=[c[k],r[k]?r[k].inject(0){|s,i|s+m[i]}:1e7].min}
p m[gets.chop]
end