#include <iostream>
#include <map>
#include <string>
#include <cstring>
using namespace std;
string v[26];
char x;
string j;
int i, maxim=1;
map <string, int> mp;
map <char, string> litere;
string tst[10000];
  int n;
int main()
{
    for(int i=1; i<=26; i++)
    {
        cin>>x;
        cin>>litere[x];
    }
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        j="";
        cin>>tst[i];
        for(int k=0; k<tst[i].size(); k++)
        {
            j+=litere[tst[i][k]];
        }
        mp[j]++;
    }
    for(auto i:mp)
    {
        if(i.second>maxim)
            maxim=i.second;
    }
    if(maxim==1)
        cout<<-1;
    else
    cout<<maxim;

    return 0;
}