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

int N,M;
string a[5000];
int x[5000];
int p[5000];
map<string,int> change;

int find(int x){
  if(x==p[x])return x;
  else return p[x]=find(p[x]);  
}

int main(){
  cin>>N;
  for(int i=0;i<N;i++)cin>>a[i]>>x[i],p[i]=i,change[a[i]]=i;
  cin>>M;
  string S,T;
  for(int i=0;i<M;i++){
    cin>>S>>T;
    int s=find(change[S]);
    int t=find(change[T]);
    x[s]=min(x[s],x[t]);
    p[t]=s;
  }
  int ans=0;
  for(int i=0;i<N;i++)ans+=x[find(i)];
  cout<<ans<<endl;
  return 0;
}