#include <cstdio>
#include <iostream>
#include <fstream>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <sstream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
#include <ctype.h>
#include <cstring>
#include <string>
#include <ctime>
#include <cassert>
#include <utility>

using namespace std;

struct Team {
    public:
    string name;
    int goals;
    int points;

    Team() {
        name = "";
        goals = 0;
        points = 0;
    }

    Team(string n, int g, int p) {
        name = n;
        goals = g;
        points = p;
    }
};

struct comparat {
    bool operator()(Team const &Ta, Team const &Tb) const {
        if(Ta.points > Tb.points) {
            return 1;
        } else if(Ta.points < Tb.points) {
            return 0;
        }else {
            if(Ta.goals > Tb.goals) {
                return 1;
            } else if(Ta.goals < Tb.goals) {
                return 0;
            } else {
                return Ta.name < Tb.name;
            }
        }
    }
};

vector<Team> v;

string n1, n2;
int g1, g2;
set<string> s;



int main() {
//	freopen("date.in", "r", stdin);
//	freopen("date.out","w", stdout);

    for(int i = 0; i < 6; i++) {
        cin >> n1 >> n2 >> g1 >> g2;
        int p1 = 0, p2 = 0;
        if(g1 == g2) {
            p1 = 1;
            p2 = 1;
        }
        else if(g1 > g2) {
            p1 = 3;
        }
        else if (g2 > g1){
            p2 = 3;
        }

        if(s.count(n1) == 0) {
            Team n = Team(n1, g1, p1);
            v.push_back(n);
            s.insert(n1);
        } else {
            for(int i = 0; i < (int) v.size(); i++) {
                if(v[i].name == n1) {
                    v[i].goals += g1;
                    v[i].points += p1;
                }
            }
        }

        if(s.count(n2) == 0) {
            Team n = Team(n2, g2, p2);
            v.push_back(n);
            s.insert(n2);
        } else {
            for(int i = 0; i < (int) v.size(); i++) {
                if(v[i].name == n2) {
                    v[i].goals += g2;
                    v[i].points += p2;
                }
            }
        }
    }
    sort(v.begin(), v.end(), comparat());
    for(int i = 0; i < v.size(); i++) {
        cout << v[i].name << "\n";
    }

	return 0;
}