2D-Нім
У настольну гру 2D–нім грають на дошці у вигляді сітки, у вузлах якої можуть знаходитись фішки. Хід гравця полягає у видаленні довільної додатньої кількості підряд ідучих фішок у довільному рядку або у довільному стовбці. Наприклад, розглянемо ліву дошку на наступній картинці:
Гравець може видалити фішки (A), (B), (A, B), (A, B, C), або (B, F), і так далі. Але він не може видалити (A, C), (D, E), (H, I) або (B, G).
З метою написання програмного забезпечення для гри у 2D–нім, програміст хоче мати можливість визначати, чи була деяка позиція проаналізована раніше. Із правил гри слідує, що дві вище представлені позиції еквівалентні. Тобто, якщо існує вигршна стратегія для позиції ліворуч, то ця ж стратегія повинна застосовуватись для досягнення виграшу і для позиції праворуч. Послідовні групи фішок можуть появлятись у довільному місці і в довільній орієнтації. Тобто на обох дошах можуть появлятись одні і ті ж кластери фішок (кластером називається множина рядом стоячих фішок, які досягаються міжд собою послідовністю одноклітинних ходів по горизонталі або вертикалі). Наприклад, кластер з фішок (A, B, C, F, G) зустрічається на обох дошках, хоча він віддзеркалений (зправа наліво), повернутий і зсунутий.
Ваша задача – визначити, чи є дві задані позиції еквівалентними у описаному вище розумінні.
Вхідні дані
Перший рядок містить єдине число – кількість тестів t (1 ≤ t ≤ 10). Перший рядок кожного тесту містить три цілих числа W, H і n (1 ≤ W, H ≤ 100). Тут W – ширина, а H – висота ігрової дошки, які вимірюються кількістю вузлів сітки. n – кількість фішок на дошці. Другий рядок містить n пар цілих чисел (x_i, y_i), які описують координати фішок на першій дошці (0 ≤ x_i ≤ W, 0 ≤ y_i ≤ H). Третій рядок описує координати фішок на другій дошці у тому ж форматі.
Вихідні дані
Для кожного тесту вивести YES або NO у залежності від того, чи є дві задані позиції еквівалентними.