#include<stdio.h>
#include<string.h>
#include<algorithm>

//int main() {
//    int n, h, mins, imins, all;
//    char s[100][6];
//
//    scanf("%d", &n);
//    for(int i = 0; i < n; ++i) {
//        scanf("%s", s[i]);
//    }
//    for(int i = 0; i < n; ++i) {
//        s[i][2] = s[i][3];
//        s[i][3] = s[i][4];
//        for(int j = 0; j < 4; ++j)
//            s[i][j] -= '0';
//        h = s[i][0] * 10 + s[i][1];
//        mins = s[i][2] * 10 + s[i][3];
//        imins = s[i][3] * 10 + s[i][2];
//        all = h * 100 + mins;
//        if(h < 0 || h > 23 || mins < 0 || mins > 59){
//            printf("NO\n");
//            continue;
//        }
//        if(mins == 0) {
//            printf("YES\n");
//            continue;
//        }
//        if(h == mins) {
//            printf("YES\n");
//            continue;
//        }
//        if(h == imins) {
//            printf("YES\n");
//            continue;
//        }
//        if(s[i][0] + 1 == s[i][1] && s[i][1] + 1 == s[i][2] && s[i][2] + 1 == s[i][3]) {
//            printf("YES\n");
//            continue;
//        }
//        while(all % 2 == 0) all = all / 2;
//        if(s[i][0] != 0 && all == 1) {
//            printf("YES\n");
//            continue;
//        }
//        printf("NO\n");
//    }
//
//    return 0;
//}

typedef struct {
    char nume[20];
    int puncte;
    int goals;
}ECHIPA;

ECHIPA e[4];

char e1[20], e2[20];
int g1, g2, ne = -1;

int match(char *nume) {
    for(int i = 0; i <= ne; ++i) {
        if(strcmp(e[i].nume, nume) == 0)
            return i;
    }
    return -1;
}

void addScore(char *nume, int puncte, int goals) {
    int index = match(nume);
    if(index == -1) {
        ++ne;
        strcpy(e[ne].nume, nume);
        e[ne].puncte = 0;
        e[ne].goals = 0;
        index = ne;
    }
    e[index].puncte += puncte;
    e[index].goals += goals;
}

bool greatert(ECHIPA a, ECHIPA b) {
    if(a.puncte !=  b.puncte) {
        return a.puncte < b.puncte;
    }
    if(a.goals != b.goals) {
        return a.goals < b.goals;
    }
    return (strcmp(a.nume, b.nume) > 0);
}

int main() {
    //FILE *f = fopen("echipe.in", "r");
    for(int i = 0; i < 6; ++i) {
        scanf("%s%s%d%d", e1, e2, &g1, &g2);
        if(g1 > g2) {
            addScore(e1, 3, g1);
            addScore(e2, 0, g2);
            continue;
        }
        if(g2 < g1) {
            addScore(e1, 0, g1);
            addScore(e2, 3, g2);
            continue;
        }
        addScore(e1, 1, g1);
        addScore(e2, 1, g2);
    }
    std::sort(e, e+4, greatert);
    for(int i = 3; i > -1; --i) {
        printf("%s\n", e[i].nume);
    }
    return 0;
}