#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Protótipo da função
char* string_substring(char str[], int start, int end);

static long ConvSeg(char tempo[]) {
    int horas = atoi(string_substring(tempo, 0, 2));
    int minutos = atoi(string_substring(tempo, 3, 5));
    int segundos = atoi(string_substring(tempo, 6, 8));
    return horas * 3600 + minutos * 60 + segundos;
}

int main() {

    char linha[1000];
    long segundos;
    while (1)
    {
        fgets(linha, 1000, stdin);
		linha[strlen(linha) - 1] = '\0';

        if (strcmp(linha, "0") == 0)
			break;
       
        int q = atoi(linha);

        long atletas[q][2];

        for (int x = 0; x < q; x++) {

            fgets(linha, 1000, stdin);
            linha[strlen(linha) - 1] = '\0';

            char * temp0 = strtok(linha, " ");

//            char * temp1 = strtok(NULL, " ");
   /*         char * temp2 = strtok(NULL, " ");
            char * temp3 = strtok(NULL, " ");
            char * temp4 = strtok(NULL, " ");
            char * temp5 = strtok(NULL, " ");
            char * temp6 = strtok(NULL, " ");
            char * temp7 = strtok(NULL, " ");
            char * temp8 = strtok(NULL, " ");
            char * temp9 = strtok(NULL, " ");
            char * temp10 = strtok(NULL, " ");*/

            segundos = 0;
            
     //       segundos = ConvSeg(temp1)+ConvSeg(temp2)+ConvSeg(temp3)+ConvSeg(temp4)+ConvSeg(temp5)+ConvSeg(temp6)+ConvSeg(temp7)+ConvSeg(temp8)+ConvSeg(temp9)+ConvSeg(temp10);
                
            for (int y = 1; y < 11; y++) {
                char * temp1 = strtok(NULL, " ");
                segundos += ConvSeg(temp1);
            }
            atletas[x][1] = atol(temp0);
            atletas[x][0] = segundos;
        }

        int ordenou = 1;
        long tempcod,temptempo;
            
        while (ordenou == 1) {
            ordenou = 0;
            for (int x = 0; x < q-1; x++) {
                if(atletas[x][0]>atletas[x+1][0]){
                    tempcod = atletas[x+1][1];
                    temptempo = atletas[x+1][0];
                    atletas[x+1][1] = atletas[x][1];
                    atletas[x+1][0] = atletas[x][0];
                    atletas[x][1] = tempcod;
                    atletas[x][0] = temptempo;
                    ordenou = 1;
                }
            }
        }          
        for (int x = 0; x < q; x++) {
            printf("%ld\n",atletas[x][1]);
        }
    }        
    return 0;
}

char* string_substring(char str[], int start, int end) {
    int i, j;
    char *sub; 

    if(start >= end || end > strlen(str)) {
        return NULL;
    }
     
    sub = (char *) malloc(sizeof(char) * (end - start + 1));
     
    for(i = start, j = 0; i < end; i++, j++) {
        sub[j] = str[i];
    }
     
    sub[j] = '\0';
     
    return sub;
}




 

