#include <iostream>
#include <map>
#include <string>
using namespace std;

//ifstream cin("C:\\dev-C++\\UVa\\cin.txt");
//ofstream cout("C:\\dev-C++\\UVa\\cout.txt");

string tabela[30];
map<string, int> mp;

int main() {
	int MAX = 0;
	string s;
	char c;
	int N;
	s.reserve(50);
	for (int i = 0; i < 26; i++) {
		cin >> c >> s;
		tabela[c - 'a'] = s;
	}

	cin >> N;
	while (N--) {
		s.clear();
		cin.ignore();
		while (cin.peek() != '\n' || cin.peek() != EOF) {
			cin >> c;
			s.append(tabela[c - 'a']);
		}
		mp[s] ++;
		if (mp[s] > MAX) MAX = mp[s];
	}
	if (MAX < 2) cout << -1;
	else cout << MAX;
	return 0;
}