Задача №111779. Т9

Многие пользователи мобильных телефонов при наборе sms-сообщений используют режим T9. При этом сообщения, например на английском языке, они набирают следующим образом. Для набора слова по буквам соответствующая букве кнопка нажимается один раз, вне зависимости от того, сколько букв соответствуют этой кнопке, и какой по счету идет нужная буква (см. картинку), а программа в телефоне подбирает из имеющегося словаря подходящее для данной комбинации кнопок слово. Если подходящих слов несколько, то в первую очередь предлагается наиболее часто встречающееся слово (изначально слова одинаковой встречаемости предлагаются по алфавиту). Если слово не подошло, то пользователь нажимает кнопку ‘*’ и программа предлагает второе по встречаемости слово, образуемое той же комбинацией кнопок (в первую очередь следующее слово с той же частотой встречаемости, если такое имеется). Если и оно не подошло, то кнопка ‘*’ нажимается еще раз и т.д. Для простоты будем считать, что современные модели телефонов содержат полный словарь используемых слов, и нужное слово обязательно найдется. Когда предлагаемое слово подошло, пользователь нажимает на кнопку “пробел”, нажимает на кнопку ‘1’ (последняя соответствует набору знака препинания), или заканчивает набирать сообщение. Когда знак препинания не подошёл, опять же нажимается кнопка ‘*’, до тех пор пока не появится требуемый знак. После набора пробела или знака препинания пользователь может ввести ещё один пробел или знак препинания, начать набирать следующее слово или закончить набирать сообщение. Будем считать, что пользователю достаточно трех знаков препинания, и они предлагаются в следующем порядке: точка (‘.’), запятая (‘,’), вопросительный знак (‘?’). После того как пользователь “утвердил” набранное слово (нажав на пробел или ‘1’), частота его встречаемости в словаре увеличивается на 1, и новое значение частоты учитывается, в том числе, и при наборе в режиме T9 остальных слов того же сообщения. При этом данное слово будет предлагаться первым среди слов с такой же частотой встречаемости, порядок предложения остальных слов остается неизменным. Когда появится еще одно слово с той же частотой, то уже оно будет предлагаться первым, не меняя порядка остальных, и т. д. Вам требуется написать программу, которая по имеющемуся словарю, содержащему первоначальные характеристики частоты встречаемости того или иного английского слова, и известной последовательности нажатий кнопок пользователем при наборе sms-сообщения в режиме T9 воспроизведет появившееся на экране сообщение.

Входные данные

В первой строке входного файла находится целое число N (3 ≤ N ≤ 50000) — количество слов в словаре. В каждой из следующих N строк записаны одно слово словаря и через пробел натуральное число F (1 ≤ F ≤ 1000) — первоначальное значение частоты встречаемости этого слова (чем больше значение, тем чаще встречается данное слово). Числовая характеристика частоты встречаемости отделена от слова ровно одним пробелом. Слова в словаре состоят только из строчных английских букв и расположены в алфавитном порядке. Длина слова не превышает 20 символов. Все слова не пустые и различные. Последняя строка файла состоит из цифр от 1 до 9 и символов “пробел” и ‘*’, обозначающих последовательность нажатий кнопок при наборе сообщения. Длина этой строки не превосходит 100000 символов.

Выходные данные

Выведите в выходной файл текст sms-сообщения.

Примеры
Входные данные
5
ad 2
be 1
not 10
or 5
to 50
86 23* 67 668 86 231**
Выходные данные
to be or not to be? 
Входные данные
3
act 1
bat 1
cat 1
228* 228** 228** 228**1
Выходные данные
bat cat act bat. 
Сдать: для сдачи задач необходимо войти в систему