\begin{problem}{Совпадения случайны}{coincidence.in}{coincidence.out}{2 секунды}

%Автор задачи: Нияз Нигматуллин
%Автор условия: Алексей Цыпленков

Теперь в Берляндии новый национальный спорт~--- спортивное программирование! Для его 
популяризации и организации была создана Организация, целью которой стало
проведение онлайн-соревнований. Однако получилось так, что сначала Организация
провела регистрацию $n$ участников, присвоила каждому некоторый рейтинг и
провела $m$ соревнований, а только потом приняла регламент проведения соревнований 
и правила участия в них.

Самым главным новшеством стало введение запрета использования нескольких различных
аккаунтов одним человеком, и сейчас Организация пытается определить всех потенциальных
нарушителей. Как показал многолетний опыт, участник $A$ может быть нарушителем только
в том случае, если есть участник $B$ такой, что выполнены все следующие условия:
 
\begin{enumerate}
\item $A$ и $B$ никогда не участвовали в одном соревновании
\item рейтинг $B$ после последнего соревнования меньше, чем рейтинг $A$
\item $A$ и $B$ писали соревнования с одного IP-адреса
\item $B$ выступал на уровне $A$ во всех соревнованиях, в которых принимал участие. 
Считается, что участник $B$ выступил на уровне участника $A$ в некотором соревновании, если 
для любого $i < k$ $highest(i) \le points(b)$ и $highest(k) > points(b)$, где 
$points(B)$~--- результат участника $B$ в этом соревновании, $k$~--- конечный рейтинг 
участника $A$, $highest(i)$~--- маскимальное число баллов, набранное в текущем 
соревновании участником, чей конечный рейтинг равен $i$. При этом считается, что 
участник, набравший в соревновании масимальное число баллов, выступил в нем на уровне 
участника с рейтингом десять. Если участник не участвовал ни в одном соревновании, его уровень 
считается равным нулю.

\end{enumerate}

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

\InputFile
В первой строке входного файла записано два целых числа: $n$ и $m$ ($1 \le n,m \le 200$)~--- количество
зарегистрированных участников и количество соревнований. В следующих $n$ строках записаны 
данные учасников~--- в $i$-й строке записан логин $s_i$ и текущий рейтинг $r_i$ ($0 \le r_i \le 10$) 
участника с номером $i$, записанные через пробел. Логин участника может содержать только латинские буквы
и может быть не длиннее 20 символов. 

Далее находится $m$ блоков, описывающих результаты соревнований. В первой строке кажого блока 
записано одно целое число $k$ ($1 \le k \le n$)~--- количество участников, принимавших участие в 
этом соревновании. В следующих $k$ строках записаны результаты каждого участника в следующем 
формате: логин участника $s_j$, целое число, показывающее количество набранных им в этом 
соревновании баллов, $b_j$ ($0 \le b_j \le 2000$), целое число, описавающее изменение его 
рейтинга, $d_j$ ($-10 \le d_j \le 10$) и IP-адрес, с которого этот участник писал контест, 
разделенные пробелами. При этом рейтинг участника не может опускаться ниже нуля и подниматься 
выше десяти. IP-адреса участников в течение серии соревнований не менялись. Каждый IP-адрес содержит только точки и цифры.

\OutputFile
В первой строке выходного файла выведите число $l$ подозрительных участников.
В следующих $l$ строках выведите их логины в лексикографическом порядке.

\Examples
\begin{example}%
\exmp{
3 2
Petya 1
Vasya 2
Gena 3
2
Vasya 2 -2 10.0.0.1
Petya 10 2 10.0.0.2
2
Gena 100 0 10.0.0.1
Petya 10 0 10.0.0.2
}{
1
Gena
}%
\exmp{
2 2
Petya 10
Gena 3
1
Gena 1000 0 10.0.0.1
1
Petya 1000 0 10.0.0.1
}{
1
Petya
}%
\end{example}
   
\end{problem}
