#include <iostream>
#include <vector>
using namespace std;

int main(){
	int n,m,ret;
	string s;
	while(cin >> n >> m && n && m){
		ret = 0;
		vector<pair<string,int> > st(n);
		for(int i=0;i<n;i++)
			cin >> st[i].first >> st[i].second;
		while(m--){
			cin >> s;
			for(int i=0;i<n;i++){
				bool flag = true;
				for(int j=0;j<st[i].first.size();j++){
					if(st[i].first[j]=='*')continue;
					if(st[i].first[j]!=s[j])flag = false;
				}
				if(flag)ret += st[i].second;
			}
		}
		cout << ret << endl;
	}
}