#include <iostream>
#include <string>
#include <algorithm>
#include <map>

using namespace std;

const int NMAX = 1000007;

char ch;
string s;
string v[27], cuv;
map < string, int > Map;
int n;

int main() {
    for(int i = 1; i <= 26; ++i) {
        cin >> ch >> s;
        v[ch - 'a'] = s;
    }
    cin >> n;
    int Max = 0;
    for(int i = 1; i <= n; ++i) {
        cin >> s;
        cuv.clear();
        for(int j = 0; j < s.size(); ++j) {
            cuv += v[s[j] - 'a'];
        }
        cout << cuv << "\n";
        if(Map.count(cuv) == 0) {
            Map[cuv] = 1;
        }
        else {
            Map[cuv]++;
        }
        Max = max(Max, Map[cuv]);
    }
    cout << Max;
    return 0;
}