#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct csapat
{
  int pont;
  int gol;
  char nev[100];
  char lat;
};

 int comp(const void * p1, const void * p2)
{
    int *i1;
    int *i2;

    i1=(int *)p1;
    i2=(int *)p2;
    return (*i1)-(*i2); //(novekvosorrend // csokkeno) return(*i2)-(*i1);
}

int main()
{
    int i,j,sz1,sz2,cind;
    char ps1[100],ps2[100],c,s[1000000];//pillanatnyilag hasznalt string
    struct csapat d3[4];
    for(i=0;i<4;i++)//nullazas
    {
        d3[i].gol=0;
        d3[i].pont=0;
        d3[i].lat='n';
        strcpy(d3[i].nev,"\0");
        for(j=0;j<100;j++) d3[i].nev[j]=' ';
    }

    for(i=0;i<6;i++)
    {
        j=0;
        /*cind=0;
        gets(s);
        c=s[cind];
        while(c!=' ')
        {

          ps1[j]=c;
          j++;
          cind++;
          c=s[cind];
        }
        ps1[j]='\0';
        j=0;
        while(s[cind]==' ')cind++;
            c=s[cind];
        while(c!=' ')
        {
          ps2[j]=c;
          j++;
          cind++;
          c=s[cind];
        }
        ps2[j]='\0';
         while(s[cind]==' ')cind++;
            c=s[cind];
            if (s[cind+1]==' ') sz1=c-'0';
             else {sz1=10;cind++;}
             cind++;
             while(s[cind]==' ')cind++;
             c=s[cind];
             if (s[cind+1]!='0') sz2=c-'0';
             else sz2=10;

        */
        int nu;
        for(nu=0;nu<100;nu++)
        {
            ps1[nu]='\000';
            ps2[nu]='\000';
        }
        scanf("%s%s%d%d",ps1,ps2,&sz1,&sz2);
        j=0;
        while((strcmp(d3[j].nev,ps1)!=0)&&(j<4)) j++;
        if(strcmp(d3[j].nev,ps1)==0)
        {
            d3[j].gol+=sz1;
            if(sz1>=sz2) d3[j].pont++;
            if(sz1>sz2) d3[j].pont+=2;
        }
        else
        {
            j=0;
        while((d3[j].lat!='n')) j++;
        strcpy(d3[j].nev,ps1);
        d3[j].lat="y";
        d3[j].gol+=sz1;
            if(sz1>=sz2) d3[j].pont++;
            if(sz1>sz2) d3[j].pont+=2;
        }
        j=0;
        while((strcmp(d3[j].nev,ps2)!=0)&&(j<4)) j++;
        if(strcmp(d3[j].nev,ps2)==0)
        {
            d3[j].gol+=sz2;
            if(sz1<=sz2) d3[j].pont++;
            if(sz1<sz2) d3[j].pont+=2;
        }
        else
        {
            j=0;
        while((d3[j].lat!='n')) j++;
        strcpy(d3[j].nev,ps2);
        d3[j].gol+=sz2;
        d3[j].lat="y";
            if(sz1<=sz2) d3[j].pont++;
            if(sz1<sz2) d3[j].pont+=2;
        }



    }
	qsort(d3, 4, sizeof(struct csapat), comp);
int nu;
for(nu=0;nu<4;nu++)printf("%s\n",d3[3-nu].nev);


    return 0;
}