Laboratorio 2 - Entrega preferencial de medicamentos


Una empresa farmacéutica lo contrata para revisar el sistema de entrega de medicamentos en su sucursal central. Una vez contratado, le explican que el sistema funciona de la siguiente manera:


Cada día a las 8:00 de la mañana el establecimiento abre las puertas y ubica a las personas que van llegando en una sala donde serán llamadas posteriormente según la prioridad. Cada vez que una persona ingresa a la sala se le pide la información de la cédula, la edad y el tiempo que cree demorarse en la caja; además se registra su hora de llegada.


La persona encargada de entregar los medicamentos empezará a atender tan pronto llegue la primera persona. Cuando termine con ella, busca a la siguiente persona y la llama. Cabe resaltar que en el tiempo en que una persona es atendida, pueden llegar más personas y deben ser tenidas en cuenta para próximas llegadas. Es decir, suponga que primero llega una persona de 70 años y es atendida. En ese transcurso llegan otras dos personas: una de 60 años y otra de 75 años, respectivamente. En este caso, se escogerá de segundo a la persona de 75 años para que pase por sus medicamentos.


Entrada

El programa recibe un número indeterminado de líneas (N), donde cada una representa una persona que llega al lugar y consta de cuatro números enteros separados por espacios (C E h t).

  • - C corresponde al número de cédula de la persona que va a ser atendida.
  • - E es la edad de la persona.
  • - h indica la hora de llegada en formato militar, es decir, un número entero de entre 3 y 4 dígitos donde 4:26 pm corresponde a 1626 (16:26) y 9:30 am se escribe como 930.
  • - t es el tiempo en minutos que dura la persona siendo atendida.

El programa termina cuando la línea de entrada es “FIN” sin las comillas.


Salida

El programa espera N-1 líneas con el orden en el que fueron atendidas las personas, imprimiendo una cédula por línea en el orden correspondiente.


Restricciones

  • \(10 \leq N \leq 1000000\)
  • \(17 < E < 100\)
  • \(800 \leq h \leq 1800\)
  • \(1 \leq t \leq 60\)
  • C es una cadena de números con una longitud máxima de 10 y mínima de 1.
  • Para implementar su solución, deberá implementar sus propias estructuras de datos. No se pueden usar las librerías (bibliotecas) nativas del lenguaje de programación aplicado.

Ejemplo


Entrada

1234567 70 845 15
7654321 60 847 2
567890 75 850 1
998765 50 1200 60
13579 55 1215 10
97531 59 1230 10
2345432 40 1245 10
FIN

Salida

1234567
567890
7654321
998765
97531
13579
2345432



Select your language