#include <iostream>
#include <vector>
#include <cstring>
#include <algorithm>

using namespace std;

struct Team{
    int score;
    int goals;
    string name;
    Team(){
        score=goals=0;
    }
};

int cmp(Team A, Team B){
    if(A.score>B.score)
        return true;
    else if(A.score<B.score)
        return false;
    else{
        if(A.goals>B.goals)
            return true;
        else if(A.goals<B.goals)
            return false;
        else{
            return A.name>B.name;
        }
    }
}

int main()
{
    Team Teams[10];
    int nr=0;
    int j;
    for(int i=1;i<=6;++i){
        Team X, Y;
        cin>>X.name>>Y.name>>X.goals>>Y.goals;
        if(X.goals>Y.goals)
            X.score+=3;
        else if(X.goals<Y.goals)
            Y.score+=3;
        else{
            Y.score+=1;
            X.score+=1;
        }
        for(j=1;j<=nr;++j){
            if(Teams[j].name==X.name)
                break;
        }
        if(j>nr)
        {
            Teams[++nr]=X;
        }
        else{
            Teams[j].score+=X.score;
            Teams[j].goals+=X.goals;
        }
        for(j=1;j<=nr;++j){
            if(Teams[j].name==Y.name)
                break;
        }
        if(j>nr)
        {
            Teams[++nr]=Y;
        }
        else{
            Teams[j].score+=Y.score;
            Teams[j].goals+=Y.goals;
        }
    }
    sort(Teams+1, Teams+5, cmp);
    cout<<Teams[1].name<<'\n'<<Teams[2].name<<'\n'<<Teams[3].name<<'\n'<<Teams[4].name<<'\n';
    return 0;
}