#include<cstdio>
#include<algorithm>
#include<cstring>

using namespace std;

struct team
{
  char s[50];
  int goals;
  int points;
} teams[10];

int nr = 0;

void putin( char name[50], int goals, int points)
{
	for(int i = 1; i<=nr; ++i)
	{
		if( strcmp(name, teams[i].s) == 0)
		{
			teams[i].goals += goals;
			teams[i].points += points;
			return;
		}
	}

	++nr;
	strcpy(teams[nr].s,name);
	teams[nr].goals = goals;
	teams[nr].points = points;
}

void initTeams()
{
	for(int i= 0; i<=6; ++i)
	{
		memset(teams[i].s,0,sizeof(teams[i].s));
		teams[i].goals = 0;
		teams[i].points = 0;
	}
}

bool fcomp(team a, team b)
{
	if(a.points - b.points)
		return a.points > b.points;
	if(a.goals - b.goals)
		return a.goals > b.goals;
	return a.s[0] < b.s[0];
}

int main()
{
	initTeams();
	for(int i = 0; i< 6; ++i)
	{
		char t1[50], t2[50];
		int g1,g2;

		scanf("%s %s %d %d",t1,t2,&g1,&g2);

		if(g1 > g2)
		{
			putin(t1,g1,3);
			putin(t2,g2,0);
		}
		else if(g1 < g2)
		{
			putin(t2,g2,3);
			putin(t1,g1,0);
		}
		else
		{
			putin(t1,g1,1);
			putin(t2,g2,1);
		}
	}

	sort(teams + 1, teams + 5, fcomp);

	for(int i = 1; i <= 4; ++i)
	{
		printf("%s\n",teams[i].s);
	}

	return 0;
}