#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, k, m, kk, sum = 0, mn, l, a, x, i, j;
  cin >> n >> m >> kk;
  cin.ignore();
  string s;
  vector<string> vs;
  vector<long long int> gp, p;
  map<long long int, long long int> mp;
  map<string, long long int> mpp;
  for (i = 0; i < n; i++) {
    cin >> s;
    vs.push_back(s);
  }
  for (i = 0; i < n; i++) {
    cin >> a;
    p.push_back(a);
  }
  p.push_back(-1);
  for (i = 0; i < m; i++) {
    cin >> l;
    mn = INT_MAX;
    vector<long long int> gp;
    for (j = 0; j < l; j++) {
      cin >> x;
      gp.push_back(x - 1);
      if (p[x - 1] < mn) {
        mn = p[x - 1];
      }
    }
    for (k = 0; k < gp.size(); k++) {
      mp[gp[k]] = mn;
    }
    gp.clear();
  }
  for (i = 0; i < n; i++) {
    mpp[vs[i]] = mp[i];
  }
  cin.ignore();
  for (i = 0; i < kk; i++) {
    cin >> s;
    sum += mpp[s];
  }
  cout << sum;
}
