#include <iostream>
#include <vector>
#include <map>
#include <string>
#include <algorithm>
using namespace std;

int main(){
	int n, m, k, cost;
	string item;

	while( cin >> n , n ){
		map<string,int> Table;
		for(int i=0 ; i<n ; ++i ){
			cin >> item >> cost;
			Table[ item ] = cost;
		}
		cin >> m;
		for(int i=0 ; i<m ; ++i ){
			vector<string> vc;
			cin >> item >> k;

			for(int j=0 ; j<k ; ++j ){
				string s;
				cin >> s;
				vc.push_back( s );
			}
			int sum = 0;
			for(int j=0 ; j<(int)vc.size() ; ++j ){
				sum += Table[ vc[j] ];
			}
			Table[ item ] = min( sum , Table[ item ] );
		}
		string obj;
		cin >> obj;
		cout << Table[ obj ] << endl;
	}
}