#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

char name1[101], name2[101];
int nr_team;

struct team {
   int nrgoluri, puncte;
   char nume[101];
}v[5];

void add_inf(char name[], int gol, int pct) {
   for(int i = 1; i <= nr_team; i++) {
      if(strcmp(name, v[i].nume) == 0) {
        v[i].nrgoluri += gol;
        v[i].puncte += pct;
        return ;
      }
   }
   
   v[++nr_team].nrgoluri = gol;
   v[nr_team].puncte = pct;
   strcpy(v[nr_team].nume, name);
}

bool cmp(team A, team B) {
  if(A.puncte == B.puncte) {
    if(A.nrgoluri == B.nrgoluri) {
       if(strcmp(A.nume, B.nume) < 0) return 1;
       
       return 0;
    }
    
    return A.nrgoluri > B.nrgoluri;
  }
  
  return A.puncte > B.puncte;
}

int main() {
    int x, y, pct1, pct2;

    for(int i = 0; i < 6; i++) {
      cin >> name1 >> name2;
      cin >> x >> y;
      
      if(x > y) pct1 = 3, pct2 = 0;
      if(x == y) pct1 = pct2 = 1;
      if(x < y) pct1 = 0, pct2 = 3;
      
      add_inf(name1, x, pct1);
      add_inf(name2, y, pct2);
    }
    
    sort(v + 1, v + 5, cmp);
    
    for(int i = 1; i <= 4; i++) {
      cout << v[i].nume << '\n'; 
    }
    
    return 0;
}