#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
long long power(long long a, long long b) {
  long long ret = 1;
  while (b) {
    if (b & 1) ret *= a;
    a *= a;
    if (ret >= MOD) ret %= MOD;
    if (a >= MOD) a %= MOD;
    b >>= 1;
  }
  return ret;
}
long long invmod(long long x) { return power(x, MOD - 2); }
map<string, long long> mpp;
map<long long, string> rv;
long long mn[100005];
int main() {
  long long n, i, m, k, j, x, p;
  cin >> n >> k >> m;
  for (i = 0; i < 100005; i++) mn[i] = 2000000000;
  long long cost[n + 1];
  string s;
  for (i = 1; i <= n; i++) cin >> s, rv[i] = s;
  for (i = 1; i <= n; i++) cin >> cost[i];
  for (i = 1; i <= k; i++) {
    cin >> x;
    for (j = 1; j <= x; j++) {
      cin >> p;
      mpp[rv[p]] = i;
      mn[i] = min(mn[i], cost[p]);
    }
  }
  long long ans = 0;
  for (i = 1; i <= m; i++) cin >> s, ans += mn[mpp[s]];
  cout << ans;
  return 0;
}
