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

ifstream fin("text.in");
//ofstream fout("text.out");

map<string,int> m;
map<string,int>::iterator it;
string s;
char c,c2;
vector<string> v;
int n;
string str;

int main()
{
    /*float t1,k1,t2,k2;
    cin>>t1>>k1>>t2>>k2;
    cout<<1/(k1/t1+k2/t2);
    */
    //#define cin fin
    int maxim =0;
    for(int i=1;i<=26;++i)
    {
        cin>>c;
        //cin>>c2;
        cin>>s;
        v.push_back(s);
        //cout<<s<<'\n';
    }
    cin>>n;
    for(int i=1; i<=n;++i)
    {
        cin>>s;
        str = "";
        for(int j=0;j<s.length();++j)
            str+=v[int(s[j])-97];
        m[str]++;
        if (m[str]> maxim)
            maxim = m[str];
        //cout<<s<<'\n';
    }
    if(maxim ==0)
    {

     cout<<"-1\n";
        return 0;
    }
    cout<<maxim<<'\n';


    return 0;
}