Самая частая путаница разделов сайта

тема: Метрики классификации · уровень: продвинутый

Условие

В журнале посещений школьного сайта для части визитов сохранены два значения: раздел, который посетил пользователь на самом деле, и раздел, предсказанный моделью классификации. Значение - во втором поле означает, что модель не выдала предсказание.

Путаницей называется упорядоченная пара различных разделов (a, b): фактический раздел равен a, а модель предсказала b. Строки с пропущенным предсказанием и строки, где фактический и предсказанный разделы совпадают, путаницами не считаются.

В последней части входа задан запрос из нескольких фактических разделов. Рассматриваются только путаницы, у которых первый элемент пары входит в запрос. Требуется найти самую частую такую пару. Частота пары (a, b) равна числу строк журнала, в которых фактический раздел равен a, а предсказанный раздел равен b.

Гарантируется, что для запроса существует хотя бы одна подходящая путаница. Если наибольшая частота достигается у нескольких пар, выводится лексикографически меньшая пара: сначала сравниваются первые названия, затем вторые. Округление не применяется, так как ответ состоит из двух строковых меток.

Формат ввода

В первой строке даны два целых числа n и q — число строк журнала и число разделов в запросе.

В следующих n строках даны два значения actual_section predicted_section через пробел: фактический раздел и предсказанный моделью раздел. Предсказанный раздел может быть равен -.

В следующих q строках записаны названия разделов запроса. Названия в запросе не повторяются.

Формат вывода

Выведите через пробел два названия: фактический раздел и предсказанный раздел в самой частой подходящей путанице.

Ограничения

1 ≤ n ≤ 4000.

1 ≤ q ≤ 12.

Название раздела состоит из строчных латинских букв, его длина составляет от 1 до 20 символов.

В журнале и запросе используется не более 12 различных названий разделов.

Длина значения предсказанного раздела равна от 1 до 20 символов либо оно равно -.

Каждый раздел из запроса встречается хотя бы в одной строке журнала как фактический раздел.

Решить задачу с автопроверкой на Python →

Куда дальше