#include <iostream>
#include <map>
#include <fstream>

int main(void){
	//std::ifstream in("test.in");

	std::map<char,std::string> m;

	for(int i=0;i<26;i++){
		char c;
		std::cin>>c;
		std::string s;
		std::cin>>s;

		m[c] = s; 
	}

	int n;
	std::cin>>n;
	std::map<std::string,int> repr;

	int max = 0;
	for(int i=0;i<n;i++){
		std::string word;
		std::cin>>word;

		std::string s="";
		for(int j=0;j<word.size();j++)
			s+=m[word[j]];

		repr[s]++;

		max = std::max(max,repr[s]);
	}

	//in.close();

	if(max==1){
		std::cout<<-1;
		return 0;
	}

	std::cout<<max;

	return 0;
}