En este problema te pedimos que simules un campeonato de luchas de robots de sumo. Las reglas del campeonato son muy sencillas:
En este concurso, además, hay una pequeña novedad. Los combates no se realizan según un orden establecido, sinó que se sigue la filosofía de tatami abierto (open tatami): cualquier par de robots pueden decidir enfrentarse en el tatami en cualquier momento (pertenezcan o no al mismo grupo, estén o no estén eliminados, etc.). Si su combate es uno de los combates previstos en el calendario, entonces deberá contabilizarse para el campeonato; de otro modo, el resultado de este combate deberá ignorarse. Por ignorar, entendemos que ese resultado no tiene ninguna validez, y que si más adelante los dos robots deben enfrentarse, es necesario que vuelvan a luchar. En concreto, deberán ignorarse los siguientes combates:
En particular, durante la fase final es posible que un robot llegue a la final, y a la vez, que otros robots todavía no hayan hecho su combate de cuartos de final.
Entrada
La entrada empieza con cuatro líneas, cada una de las cuales tiene un número k≥ 2, seguido de los k nombres (secuencias de no más de 10 letras y dígitos, sin espacios) de los robots que forman parte de los grupos A, B, C y D, respectivamente. Todos los robots tienen nombres distintos.
A continuación, una secuencia de tripletas R1 R2 x, separadas por una cantidad arbitraria de espacios y saltos de línea, donde R1 y R2 son los nombres de 2 robots, y x es 1 o 2 para indicar que el robot R1 ha ganado un combate contra el robot R2 (x=1) o que R2 ha ganado un combate contra el robot R1 (x=2).
Salida
Si no hay suficientes combates para decidir la fase de liguilla (es decir, si no ocurre que todos los robots de todos los grupos han luchado contra todos los de su mismo grupo), escribe una línea con el texto ??.
Si se puede acabar de disputar la liguilla, escribe 8 líneas con los nombres de los robots ganadores, emparejados como se muestra en el esquema anterior (la primera línea contendrá el ganador del grupo A; la siguiente, el segundo clasificado del grupo D; luego 1B, 2C, 1C, 2B, 1D, 2A.
Si, además, hay suficientes combates para disputar la fase final, escribe una línea con cinco guiones (-----) y otras cuatro líneas: la primera y la segunda con los nombres del robot ganador y finalista, la tercera línea con los dos nombres de los robots que perdieron las semifinales, y la cuarta con los cuatro nombres de los robots que perdieron los cuartos de final. En estos dos últimos casos, escribe los nombres separados por espacios y en orden alfabético (según los códigos ASCII de las letras).
Puntuación
Resolver 20 entradas donde todos los grupos son de 4 robots, y donde nunca se llega a completar la fase final.
Resolver 20 entradas de todo tipo, donde los grupos no tienen más de 10 robots cada uno.
Input
4 A1 A2 A3 A4 4 B1 B2 B3 B4 4 C1 C2 C3 C4 4 D3 D1 D4 D2 A1 A2 2 A1 A3 1 A1 A4 1 A2 A3 1 C2 C4 1 C3 C4 1 D4 D1 1 D3 D2 2 C4 C1 1 C2 C3 2 A2 B2 1 B4 C1 1 A1 D2 1 B4 A1 2 A2 A1 1
Output
??
Input
4 A1 A2 A3 A4 4 B1 B2 B3 B4 4 C1 C2 C3 C4 4 D3 D1 D4 D2 A1 A2 2 A1 A3 1 A1 A4 1 A2 A3 1 A2 A4 1 A3 A4 1 B4 B1 1 B3 B2 2 B2 B1 1 B3 B1 2 B4 B2 2 B4 B3 1 B1 C2 1 C1 C2 1 C1 C3 1 C1 C4 1 C2 C3 1 A1 B2 1 A2 A1 1 C2 C4 1 C3 C4 1 D4 D1 1 D3 D2 2 C4 C1 1 C2 C3 2 D2 D1 1 D3 D1 2 D4 D2 2 D4 D3 1
Output
A2 D4 B2 C2 C1 B4 D2 A1
Input
4 A1 A2 A3 A4 4 B1 B2 B3 B4 4 C1 C2 C3 C4 4 D3 D1 D4 D2 A1 A2 2 A1 A3 1 A1 A4 1 A2 A3 1 A2 A4 1 A3 A4 1 B2 B1 1 B3 B1 2 B4 B2 2 B4 B3 1 B1 C2 1 B4 B1 1 B3 B2 2 C1 C2 1 C1 C3 1 C1 C4 1 C2 C3 1 A1 B2 1 A2 A1 1 C2 C4 1 C3 C4 1 D4 D1 1 D3 D2 2 C4 C1 1 C2 C3 2 D2 D1 1 D3 D1 2 D4 D2 2 D4 D3 1 A2 D4 1 B2 C2 1 B2 C2 2 A3 A2 2 A2 C1 1 A2 B2 1 B4 C1 1 A1 D2 1 B4 A1 2 A2 A1 1
Output
A2 D4 B2 C2 C1 B4 D2 A1 ----- A2 A1 B2 B4 C1 C2 D2 D4