Птицы, замеченные во все месяцы
Условие
В парке ведут две таблицы наблюдений за окольцованными птицами. В первой таблице хранится реестр птиц, которым были выданы кольца. Во второй таблице записываются встречи с птицами во время ежемесячных обходов.
Необходимо определить, сколько птиц из реестра были замечены хотя бы один раз в каждом из четырёх месяцев наблюдений: 1, 2, 3 и 4. Строки второй таблицы сопоставляются со строками первой таблицы по номеру кольца ring_id.
Для птицы из реестра пусть M — множество различных номеров месяцев, указанных в строках журнала с её номером кольца. Птица учитывается в ответе тогда и только тогда, когда M = {1, 2, 3, 4}. Наблюдения с номером кольца, отсутствующим в реестре, не учитываются. При совпадении нескольких строк журнала с одинаковыми номером кольца и месяцем наличие этого месяца всё равно считается только один раз.
Формат ввода
В первой строке даны два целых числа n и m — число строк в реестре птиц и число строк в журнале наблюдений.
Следующие n строк содержат два значения: ring_id и species. ring_id — номер кольца птицы, species — условное название её вида. Номера колец в реестре не повторяются.
Следующие m строк содержат два значения: ring_id и month — номер кольца замеченной птицы и номер месяца наблюдения. Один и тот же номер кольца может встречаться в журнале много раз. Номер кольца из журнала может отсутствовать в реестре.
Формат вывода
Выведите одно целое число — количество птиц из реестра, замеченных во всех четырёх месяцах.
Дробной части у ответа нет, выведите целое число.
Ограничения
1 ≤ n ≤ 4000.
0 ≤ m ≤ 4000.
n + m ≤ 4000.
Длина каждого ring_id составляет от 1 до 12 символов. Все символы ring_id — строчные латинские буквы и цифры.
Длина каждого species составляет от 1 до 20 символов. В названии вида нет пробелов.
1 ≤ month ≤ 4.
Журнал наблюдений может быть пустым. Если у птицы нет записей хотя бы для одного из месяцев, она не учитывается.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели