#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, k, temp;
  cin >> n >> k >> m;
  cin.ignore();
  string s[n + 2];
  map<string, int> mp;
  for (int i = 0; i < n; i++) cin >> s[i];
  for (int i = 0; i < n; i++) cin >> temp, mp[s[i]] = temp;
  for (int j = 0; j < k; j++) {
    int x;
    cin >> x;
    int mini = 0;
    int ind[n + 2];
    cin >> ind[0];
    mini = mp[s[ind[0] - 1]];
    for (int i = 1; i < x; i++) {
      cin >> ind[i];
      mini = min(mini, mp[s[ind[i] - 1]]);
    }
    for (int i = 0; i < x; i++) {
      mp[s[ind[i] - 1]] = mini;
    }
  }
  string st;
  long long sum = 0;
  for (int i = 0; i < m; i++) {
    cin >> st;
    sum += mp[st];
  }
  cout << sum << endl;
  return 0;
}
