#include <iostream>
using namespace std;

string s[1002];
int a[1002];

bool check(string x, string y){
  for(int i = 0; i < x.size(); i++){
    if(x[i] != '*' && x[i] != y[i]){
      return false;
    }
  }
  return true;
}

int main(){
  int n, m;

  while(cin >> n >> m, n || m){
    for(int i = 0; i < n; i++){
      cin >> s[i] >> a[i];
    }

    int res = 0;

    for(int i = 0; i < m; i++){
      string t;
      cin >> t;

      for(int j = 0; j < n; j++){
	if(check(s[j], t)){
	  res += a[j];
	  break;
	}
      }
    }

    cout << res << endl;
  }
}