#include <iostream>
#include <vector>

using namespace std;

class Team
{
public:
    Team(string n){name=n;}
    string name;
    int points=0,totalGoals=0;
    int pPoints=0;
};

class tournament
{
public:
    void addTeam(string name)
    {
        teams.push_back(Team(name));
    }
    string getTop()
    {
        for(int i=0;i<4;i++)
        {
            teams[i].pPoints=teams[i].points*10+teams[i].totalGoals;
        }

        for(int i=0;i<4;i++)
            for(int j=i;j<4;j++)
        {
           if(teams[i].pPoints>teams[j].pPoints);
               swap(teams[i],teams[j]);
        }
        string s="";

        for(int i=3;i>=0;i--)
        {
           s+=teams[i].name+"\n";
        }
        return s;

    }
    void eval(string t1,string t2,int g1,int g2)
    {
        if(!exists(t1))
        {
            addTeam(t1);
            eval(t1,t2, g1,g2);
        }
        if(!exists(t2))
        {
            addTeam(t2);
            eval(t1,t2,g1, g2);
        }

         addGoals(t1,g1);
        addGoals(t2,g2);

        if(g1==g2)
        {
            addPoints(t1,1);
            addPoints(t2,1);
        }else
        if(g1>g2)
        {
            addPoints(t1,3);
        }else addPoints(t2,3);

    }
    void addPoints(string n,int a)
    {
        for(int i=0; i<teams.size(); i++)
            if(teams[i].name==n) teams[i].points+=a;
    }
    void addGoals(string n,int a)
    {
        for(int i=0; i<teams.size(); i++)
            if(teams[i].name==n) teams[i].totalGoals+=a;
    }
    bool exists(string n)
    {
        for(int i=0; i<teams.size(); i++)
            if(teams[i].name==n) return true;
        return false;
    }

private:
    vector<Team> teams;


} Tournament;

int main()
{
    string s1,s2;
    int i1,i2;

    for(int i=0;i<6;i++)
    {
        cin>>s1>>s2>>i1>>i2;
        Tournament.eval(s1,s2,i1,i2);
    }

    cout<<Tournament.getTop();
}