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