#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  int n, k, m;
  cin >> n >> k >> m;
  map<string, int> M;
  for (int i = 0; i < n; i++) {
    string s;
    cin >> s;
    M[s] = i;
  }
  int koszt[n];
  for (int i = 0; i < n; i++) {
    cin >> koszt[i];
  }
  for (int i = 0; i < k; i++) {
    int a;
    cin >> a;
    int mini = 1000000000;
    vector<int> V;
    for (int j = 0; j < a; j++) {
      int b;
      cin >> b;
      mini = min(koszt[b - 1], mini);
      V.push_back(b - 1);
    }
    for (auto a : V) koszt[a] = mini;
    V.clear();
  }
  string w;
  long long wynik = 0;
  for (int i = 0; i < m; i++) {
    cin >> w;
    wynik += koszt[M[w]];
  }
  cout << wynik << "\n";
  return 0;
}
