#include<iostream>
#include<fstream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<string>
#include<queue>
#include<cstdlib>
#include<ctime>
#include<map>
#define in cin
#define out cout
#define abs(x) ((x>0)?(x):(-(x)))
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
#define FOR(i, a, b) for(int i = a; i <= b; ++i)
#define DOWNFOR(i, a, b) for(int i = a; i >= b; --i)
#define FOREACH(i, t) for (typeof(t.begin()) i = t.begin(); i != t.end(); ++i)
using namespace std;
typedef long long ll;
string a,b; int x,y;
map<string,int> g,p,f;
string s[7]; int k;
bool cmp(string A,string B){
    if(p[A]==p[B]){
        if(g[A]==g[B]) return A<B;
        return g[A]<g[B];
    }
    return p[A]<p[B];
}
int main(){
    #ifndef ONLINE_JUDGE
    ifstream in("test.in");
    ofstream out("test.out");
    #endif
    FOR(i,1,6){
        in>>a>>b>>x>>y;
        g[a]+=x;
        g[b]+=y;
        if(!f[a]) s[++k]=a;
        if(!f[b]) s[++k]=b;
        f[a]=1;
        f[b]=1;
        if(x==y) p[a]++,p[b]++;
        if(x>y) p[a]+=3;
        if(x<y) p[b]+=3;
    }
    sort(s+1,s+k+1,cmp);
    DOWNFOR(i,4,1) out<<s[i]<<'\n';
    return 0;
}