#include #include #include const int NMAX = 100005; using namespace std; ifstream f("test.in"); map morse; map reversed; int N, answer; string words[NMAX]; int main() { for (char c = 'a'; c <= 'z'; ++c) { char ch; string cod; cin >> ch >> cod; morse[ch] = cod; } cin >> N; for (int i = 1; i <= N; ++i) { cin >> words[i]; } for (int i = 1; i <= N; ++i) { string coded_word = ""; for (int j = 0; j < words[i].size(); ++j) { coded_word += morse[words[i][j]]; } if (reversed.find(coded_word) == reversed.end()) { reversed[coded_word] = 1; } else { reversed[coded_word] += 1; } if (reversed[coded_word] > answer) { answer = reversed[coded_word]; } } if (answer <= 1) { cout << "-1"; } else { cout << answer << '\n'; } return 0; }