#define    _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
    void swap(char* in1, char* in2);
    char in[10][20] = {0};

    int i,j;
    gets(in[0]);
    for (i = 1;i<5; i++)
    {
        gets(in[i]); 
    }

    int k[5] = { 0 }, z[5] = { 0 };

    for (i = 0; i < 5; i++)
    {
        int sig=0;
        int len = strlen(in[i]);
        for (j = 0; j < len; j++)
        {
            if (in[i][j] == ' ')
            {
                if (sig == 0)
                {
                    z[i] = in[i][j + 1] - '0';
                    sig++;
                }
                else
                {
                    k[i] = (in[i][j + 1] - '0') * 10 + (in[i][j + 2] - '0');

                    sig = 0;
                }

            }
        }

    }
    int p;
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4 - i; j++)
        {
            if (k[j] > k[j+1])
            {
                swap(in[j], in[j + 1]);
                p = k[j];
                k[j] = k[j + 1];
                k[j + 1] = p;
                p = z[j];
                z[j] = z[j + 1];
                z[j + 1] = p;
            }
            else if (k[j] == k[j + 1])
            {
                if (z[j] > z[j + 1])
                {
                    swap(in[j], in[j + 1]);
                    p = z[j];
                    z[j] = z[j + 1];
                    z[j + 1] = p;
                }
            }

        }
    }
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4 - i; j++)
        {
            if (in[j][0] > in[j + 1][0])
            {
                swap(in[j], in[j + 1]);
            }
        }
    }
    for (i = 0; i < 5; i++)
    {
        printf("%s\n", in[i]);
    }

    return 0;

}
void swap (char* in1, char* in2)
{
    char t[20] = { 0 };
    memcpy(t, in1, 20);
    memcpy(in1, in2, 20);
    memcpy(in2, t, 20);
}