Прогулянка в парку
Ви відповідаєте за перевірку дерев у парку, щоб переконатися, що вони залишаються здоровими. Розташування кожного дерева задано як точка на двовимірній площині, і жодне дерево не має однакового розташування з іншим. Через нещодавно пересаджену траву, ви можете пересуватися парком лише вздовж певних шляхів. Кожен шлях описується горизонтальною або вертикальною лінією нескінченної довжини на двовимірній площині. Жодне дерево не розташоване на жодному з цих шляхів.
Ви стурбовані тим, що може бути неможливо побачити всі дерева з цих шляхів. Зокрема, дерево вважається видимим, якщо його можна побачити, стоячи на якомусь шляху і дивлячись у напрямку, перпендикулярному до цього шляху; жодне інше дерево не повинно заважати вашому огляду. Враховуючи геометричну конфігурацію парку, будь ласка, визначте кількість видимих дерев.
Вхідні дані
Буде кілька наборів вхідних даних. Для кожного набору вхідних даних перший рядок містить два цілі числа, N та M, (0 < N, M <= 100000), розділені пробілом. N - це кількість дерев, а M - кількість шляхів.
Наступні N рядків містять по два цілі числа, розділені пробілом, X та Y, які вказують координати дерева. X та Y можуть бути будь-якими 32-бітними цілими числами.
Наступні M рядків описують шлях (вертикальний або горизонтальний рядок). Вони мають вигляд x = K або y = K, без пробілів. K може бути будь-яким 32-бітним цілим числом. x та y будуть у нижньому регістрі.
Кінець вводу позначається рядком з двома розділеними пробілом 0.
Вихідні дані
Для кожного набору вхідних даних виведіть один рядок, що містить одне ціле число, яке вказує кількість видимих дерев. Між виходами не повинно бути порожніх рядків.