#include <iostream>
#include <map>
#include <string>
#include <algorithm>

using namespace std;

map<string,int> goals;
map<string,int> points;

struct team {
    string name;
    int goals;
    int points;
}v[10];

bool operator< (const team &a, const team &b) {
    if(a.points==b.points) {
        if(a.goals==b.goals){
            return a.name<b.name;
        }
        return a.goals>b.goals;
    }

    return a.points>b.points;
}

int main()
{
    string a,b;

    int x,y;
    for(int i=1;i<=6;i++) {
        cin>>a>>b;
        cin>>x>>y;

        goals[a]+=x;
        goals[b]+=y;
        points[a]+=0;
        points[b]+=0;

        if(x==y) {
            points[a]++;
            points[b]++;
        }
        else if(x<y) {
            points[b]+=3;
        }
        else
            points[a]+=3;
    }

    int poz=0;
    map<string,int>::iterator it;

    for(it=points.begin();it!=points.end();it++) {
        v[++poz].name=it->first;
        v[poz].points=it->second;
        v[poz].goals=goals[it->first];
    }

    sort(v+1,v+5);

    for(int i=1;i<=4;i++)
        cout<<v[i].name<<'\n';

    return 0;
}