Совпадения случайны
시간 제한2초메모리 제한1024 MB
n명의 참가자와 m개의 대회 결과가 주어질 때, IP, 최종 레이팅, 점수 수준에 관한 네 조건을 만족하는 다른 참가자 B가 존재하는 참가자 A를 모두 찾는다.
문제
Теперь в Берляндии новый национальный спорт --- спортивное программирование! Для его популяризации и организации была создана Организация, целью которой стало проведение онлайн-соревнований. Однако получилось так, что сначала Организация провела регистрацию участников, присвоила каждому некоторый рейтинг и провела соревнований, а только потом приняла регламент проведения соревнований и правила участия в них.
Самым главным новшеством стало введение запрета использования нескольких различных аккаунтов одним человеком, и сейчас Организация пытается определить всех потенциальных нарушителей. Как показал многолетний опыт, участник может быть нарушителем только в том случае, если есть участник такой, что выполнены все следующие условия:
- и никогда не участвовали в одном соревновании
- рейтинг после последнего соревнования меньше, чем рейтинг
- и писали соревнования с одного IP-адреса
- выступал на уровне во всех соревнованиях, в которых принимал участие. Считается, что участник выступил на уровне участника в некотором соревновании, если для любого и , где --- результат участника в этом соревновании, --- конечный рейтинг участника , --- маскимальное число баллов, набранное в текущем соревновании участником, чей конечный рейтинг равен . При этом считается, что участник, набравший в соревновании масимальное число баллов, выступил в нем на уровне участника с рейтингом десять. Если участник не участвовал ни в одном соревновании, его уровень считается равным нулю.
Вам как ведущему аналитику Организации было поручено по результатам соревнований определить всех участников, которые могут быть нарушителями.
입력
В первой строке входного файла записано два целых числа: и () --- количество зарегистрированных участников и количество соревнований. В следующих строках записаны данные учасников --- в -й строке записан логин и текущий рейтинг () участника с номером , записанные через пробел. Логин участника может содержать только латинские буквы и может быть не длиннее 20 символов.
Далее находится блоков, описывающих результаты соревнований. В первой строке кажого блока записано одно целое число () --- количество участников, принимавших участие в этом соревновании. В следующих строках записаны результаты каждого участника в следующем формате: логин участника , целое число, показывающее количество набранных им в этом соревновании баллов, (), целое число, описавающее изменение его рейтинга, () и IP-адрес, с которого этот участник писал контест, разделенные пробелами. При этом рейтинг участника не может опускаться ниже нуля и подниматься выше десяти. IP-адреса участников в течение серии соревнований не менялись. Каждый IP-адрес содержит только точки и цифры.
출력
В первой строке выходного файла выведите число подозрительных участников. В следующих строках выведите их логины в лексикографическом порядке.