[583A] Asfaltando caminos


Enlace a Codeforces

tiempo límite por test 1 segundo
memoria límite por test 256 MB
entrada entrada estándar
salida salida estándar


La ciudad X consiste de nn caminos infinitos en vertical y nn en horizontal, formando n×nn \times n intersecciones. Los caminos (tanto los verticales como los horizontales) están numerados de 1 a nn, y las intersecciones se indican por los números de los caminos que las forman.

Los caminos de tierra hace mucho que se consideran obsoletos, así que se tomó la decisión de asfaltarlos. Para hacer esto, se contrató a un equipo de obreros y se elaboró una agenda de trabajo, de acuerdo a qué intersecciones se deberían asfaltar.

Las reparaciones de los caminos están planeadas para n2n^2 días. En el i-ésimo día el equipo llega a la i-ésima intersección de la lista y si ninguno de los dos caminos que la forman está alfaltado, entonces asfaltan ambos caminos. En cualquier otro caso, el equipo deja la intersección, sin hacer nada con los caminos.

De acuerdo a lo que dice la agenda de caminos a trabajar ¿en qué días se asfaltará al menos un camino?

Entrada

La primera línea contiene un entero nn (1n501 \leq n \leq 50) - el número de caminos verticales y horizontales en la ciudad.

Las siguientes n2n^2 líneas contienen el orden de las intersecciones en la agenda. Cada i-ésima línea cuenta con dos números hi,vih_i, v_i (1hi,vin1 \leq h_i, v_i \leq n), separados con un espacio, que dicen que la i-ésima intersección de la agenda está formada por el hih_i-ésimo camino horizontal y el viv_i-ésimo vertical. Se garantiza que todas las intersecciones dadas son distintas.

Salida

En una línea imprime en orden ascendente los números de los días en los que habrá progreso en la reparación de los caminos. Los días están numerados empezando de 1.

Ejemplos

input:
2
1 1
1 2
2 1
2 2

output:
1 4
input:
1
1 1

output:
1

Nota

En el primer ejemplo la brigada actúa de esta forma:

  1. El primer día la brigada llega a la intersección formada por el primer camino horizontal y el primer camino vertical. Como ninguno de los caminos ha sido asfaltado, los trabajadores asfaltan ambos.

  2. El segundo día la brigada llega a la intersección entre el primer camino horizontal y el segundo camino vertical. El segundo camino vertical aún no ha sido asfaltado, pero como el primer camino horizontal ya fue asfaltado el primer día, los trabajadores se van y no asfaltan nada.

  3. El tercer día la brigada llega a la intersección entre el segundo camino horzontal y el primer camino vertical. Si bien el segundo camino horizontal aún no está asfaltado, el primer camino vertical sí, y por lo tanto, los trabajadores dejan la intersección sin asfaltar nada.

  4. El cuarto día la brigada llega a la intersección formada por la intersección entre el segundo camino horizontal y vertical. Como ninguno ha sido asfaltado, los trabajadores asfaltan ambos caminos.