#include <stdio.h>
#include <string>
#include <map>

using namespace std;

int main(){
	while(1){
		int n;
		scanf("%d", &n);
		if(n==0) break;
		
		map<string,int> data;
		
		int i;
		char s[100];
		int v;

		for(i=0;i<n;i++){
			scanf(" %s %d", s, &v);
			data.insert(pair<string,int>(string(s),v));
		}
		
		scanf("%d", &n);
		for(i=0;i<n;i++){
			int w;
			scanf(" %s %d", s, &w);
			int v = data[string(s)];
			int nv=0;
			for(int j=0;j<w;j++){
				char ns[100];
				scanf(" %s", ns);
				nv += data[string(ns)];
			}
			if(nv < v) data[string(s)]=nv;
		}
		scanf(" %s", s);
		printf("%d\n", data[string(s)]);
	}
}