#include <fstream>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;

//ifstream f("a.in");
#define f cin

struct team
{
    int pt,gol;
    char name[50];

    bool operator < (const team &t) const
    {
        if(t.pt == pt)
        {
            if(t.gol == gol)
            {
                if ( strcmp(t.name,name) > 0 ) return true;
                else return false;
            }
            else return t.gol < gol;
        }
        else return t.pt < pt;
    }
} T[5];

char s1[50],s2[50];
int p1,p2;

int nr;

int main()
{
    int i,j,ok;

    for(i=1;i<=4;++i)
    {
        T[i].name[0] = '\0';
        T[i].pt = 0;
        T[i].gol = 0;
    }

    for(j=1;j<=6;++j)
    {
        f>>s1>>s2>>p1>>p2;

        ok = false;
        for(i=1;i<=4;++i) if( strcmp(T[i].name,s1) == 0 )
        {
            ok = true;
            if(p1>p2) T[i].pt += 3;
            if(p1 == p2) T[i].pt += 1;
            T[i].gol += p1;
        }
        if(ok == false)
        {
            ++nr;
            strcpy(T[nr].name,s1);
            if(p1>p2) T[nr].pt += 3;
            if(p1 == p2) T[nr].pt += 1;
            T[nr].gol += p1;
        }

        ok = false;
        for(i=1;i<=4;++i) if( strcmp(T[i].name,s2) == 0 )
        {
            ok = true;
            if(p1<p2) T[i].pt += 3;
            if(p1 == p2) T[i].pt += 1;
            T[i].gol += p2;
        }
        if(ok == false)
        {
            ++nr;
            strcpy(T[nr].name,s2);
            if(p1<p2) T[nr].pt += 3;
            if(p1 == p2) T[nr].pt += 1;
            T[nr].gol += p2;
        }
    }

    sort(T+1,T+5);

    for(i=1;i<=4;++i)
    {
        cout<<T[i].name<<"\n";
    }

    return 0;
}