Автор: | Восьмая всероссийская командная олимпиада школьников по программированию | Ограничение времени: | 2 сек | |
Входной файл: | program.in | Ограничение памяти: | 256 Мб | |
Выходной файл: | program.out |
Компания "Макрохард" заказала у одного известного психолога полное психологическое обследование всех работников компании. Психолог, привлеченный для проведения обследования, известен своим инновационным методом, позволяющим составить полную психологическую картину сотрудника по наиболее часто используемому им в программах идентификатору. Однако, к сожалению, программа, используемая в анализе, оказалась неожиданно испорчена вирусом, поэтому требуется срочно написать новую. Помогите известному психологу. Напишите программу, которая по приведенной программе выяснит наиболее часто используемый в ней идентификатор.
Поскольку разные сотрудники компании пишут программы на разных языках программирования, ваша программа должна уметь работать с произвольным языком. Поскольку в разных языках используются различные ключевые слова, то список ключевых слов в анализируемом языке предоставляется на вход программе. Все последовательности из латинских букв, цифр и знаков подчеркивания, которые не являются ключевыми словами и содержат хотя бы один символ, не являющийся цифрой, могут быть идентификаторами. При этом в некоторых языках идентификаторы могут начинаться с цифры, а в некоторых — нет. Если идентификатор не может начинаться с цифры, то последовательность, начинающаяся с цифры, идентификатором не является. Кроме этого, задано, является ли язык чувствительным к регистру символов, используемых в идентификаторах и ключевых словах.
Первая строка входного файла содержит число n — количество ключевых слов в языке, и два слова c и d, каждое из которых равно либо "yes", либо "no". Слово c равно "yes", если идентификаторы и ключевые слова в языке чувствительны к регистру символов, и no, если нет. Слово d равно "yes", если идентификаторы в языке могут начинаться с цифры, и no, если нет.
Следующие n строк содержат по одному слову, состоящему из букв латинского алфавита и символов подчеркивания — ключевые слова. Все ключевые слова непусты, различны, при этом, если язык не чувствителен к регистру, то различны и без учета регистра.
Далее до конца файла идет текст программы. Он содержит только символы с ASCII-кодами от 32 до 126 и переводы строки. В программе есть хотя бы один идентификатор.
Выведите в выходной файл идентификатор, встречающийся в программе максимальное число раз. Если таких идентификаторов несколько, следует вывести тот, который встречается в первый раз раньше. Если язык во входном файле не чувствителен к регистру, то можно выводить идентификатор в любом регистре.
0 ≤ n ≤ 50
Длина каждого ключевого слова не превышает 50 символов.
№ | Входной файл (program.in ) |
Выходной файл (program.out ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|