B - 2-D Nim

Languages: C, C++, Java, Tiger, Python, Pascal, JavaScript, Haskell, C#
Time & Memory limits: (details)

El juego de tablero 2D-Nim se juega en una grilla, con fichas en las intersecciones de las líneas. En cada movimiento, el jugador en turno puede eliminar cualquier cantidad positiva de piezas consecutivas en una fila o columna. El jugador que remueva la última ficha es el ganador. Por ejemplo, considere la grilla de la izquierda en la figura:

El jugador en turno puede eliminar (A) , (B) , (A, B) , (A, B, C) , o (B, F) , etc.; pero no puede eliminar (A, C) , (D, E) , (H, I) o (B, G). Con el propósito de crear un juego de computadora, un programador quiere ser capaz de determinar cuándo una posición nunca ha sido analizada anteriormente. Dadas las reglas del juego, debe quedar claro que los dos tableros en la imagen son esencialmente equivalentes. Esto es, si hay una estrategia ganadora para el tablero de la izquierda, entonces ocurre lo mismo para el de la derecha. El hecho que los grupos consecutivos de piezas aparezcan en posiciones y orientaciones diferentes es claramente irrelevante. Todo lo que importa es si el mismo clúster de piezas (siendo un clúster un conjunto de piezas que están consecutivas y pueden ser alcanzadas  unas a otras con movimientos horizontales o verticales) aparece. Por ejemplo el clúster de piezas (A, B, C, F, G) aparece en los dos tableros, pero ha sido reflejado (intercambiando izquierda y derecha), rotado y movido. Su tarea es determinar cuándo dos tableros son equivalentes.

Input

La primera linea de la entrada contiene un entero t (1<=t<=12) , que es el número de casos, seguido de la entrada para cada caso. La primera line de cada caso consiste de tres enteros W , H , n (1 <=W, H <=100) . W es el encho, y H el alto de la grilla en términos de la cantidad de intersecciones. n(n<=3000) es el número de fichas en el tablero . La segunda línea de cada caso contiene una secuencia de n pares de enteros xi, yi , siendo cada uno las coordenadas de una ficha en el primer tablero (0 =< xi < W and 0 =< yi< H) . La tercera línea de cada caso describe las coordenadas de las fichas en el segundo tablero en el mismo formato.

Output

Su programa deberá imprimir por cada caso una línea conteniendo la palabra YES o NO indicando si los tableros son equivalentes o no.

Sample test(s)

Input
2 8 5 11 0 0 1 0 2 0 5 0 7 0 1 1 2 1 5 1 3 3 5 2 4 4 0 4 0 3 0 2 1 1 1 4 1 3 3 3 5 2 6 2 7 2 7 4 8 5 11 0 0 1 0 2 0 5 0 7 0 1 1 2 1 5 1 3 3 6 1 4 4 0 4 0 3 0 2 1 1 1 4 1 3 3 3 5 2 6 2 7 2 7 4
Output
YES NO