#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, k, m;
  cin >> n >> k >> m;
  map<string, long long int> my;
  string ary[n];
  long long int cost[n];
  for (int i = 0; i < n; i++) cin >> ary[i];
  for (int i = 0; i < n; i++) cin >> cost[i];
  for (int i = 0; i < n; i++) {
    my[ary[i]] = cost[i];
  }
  for (int i = 0; i < k; i++) {
    int t;
    cin >> t;
    int mini = INT_MAX;
    int temp[t];
    for (int j = 0; j < t; j++) {
      cin >> temp[j];
      if (mini > my[ary[temp[j] - 1]]) mini = my[ary[temp[j] - 1]];
    }
    for (int j = 0; j < t; j++) {
      my[ary[temp[j] - 1]] = mini;
    }
  }
  string ms[m];
  long long int ans = 0;
  for (int i = 0; i < m; i++) {
    cin >> ms[i];
    ans = ans + my[ms[i]];
  }
  cout << ans;
  return 0;
}
