#include<bits/stdc++.h>
using namespace std;
map<string,int> ms;
string str;
int arr[100005],temp[100005],mn[100005];
int main()
{
int n,k,m;cin>>n>>k>>m;
for(int i=1;i<=n;i++)cin>>str,ms[str]=i;
for(int i=1;i<=n;i++)cin>>arr[i],mn[i]=1e9+7;
for(int i=1,j;i<=k;i++)
{
int x;cin>>x;
while(x–)cin>>j,temp[j]=i,mn[i]=min(mn[i],arr[j]);
}
unsigned long long res=0;
while(cin>>str){res+=mn[temp[ms[str]]];}
return cout<<res<<“\n”,0;
}