#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
typedef long long int64;
#define first fr
#define second sc

typedef pair< int , int > Pi;

vector< int > g[111];
map < string , int > data;
int cost[111];
int n, m;

int solve(int x){
  if(g[x].empty())return cost[x];
  int ret = 0 ;
  for(int i = 0 ; i < g[x].size() ; ++i){
    ret += solve(g[x][i]);
  }
  return min(ret,cost[x]);
}

int main()
{
 
  while(cin >> n && n){
    data.clear();
    rep(i,111)g[i].clear();
    for(int i = 0; i < n; i++){
      string s;
      int foo;
      cin >> s >> foo;
      data[s] = i;
      cost[i] = foo;
    }
    cin >> m;
    for(int i = 0; i < m; i++){
      string s;
      int k;
      cin >> s >> k;
      int idx = data[s];
      for(int j = 0; j < k; j++){
        string hoge;
        cin >> hoge;
        g[idx].push_back(data[hoge]);
      }
    }
    string r;
    cin >> r ;
    cout << solve(data[r]) << endl;
  }
  return 0;

}