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

typedef struct s_team{
char s[1024];
int points;
int goals;
}t_team;

t_team v[5],aux;
int main()
{
	int i,x,y,j,ok1,ok2;
	char s1[1024], s2[1024];
	for (i = 1;i <= 6; ++i)
	{
		scanf ("%s %s %d %d", s1, s2, &x, &y);
		ok1 = 0;
		ok2 = 0;
		for (j = 1;j<=4;++j)
		{
			if (strcmp (v[j].s, s1) == 0)
				{
					v[j].goals += x;
					if ( x == y)
						v[j].points += 1;
					if (x > y)
						v[j].points += 3;
					ok1 = 1;
				}
			if (strcmp (v[j].s, s2) == 0)
				{
					v[j].goals += y;
					if (x == y)
						v[j].points += 1;
					if (y > x)
						v[j].points += 3;
					ok2 = 0;
				}
		}
		if (ok1 == 0)
			for (j = 1;j<=4 && ok1==0;++j)
				{
					if (strcmp(v[j].s, "") == 0)
					{
						strcpy(v[j].s, s1);
						v[j].goals += x;
						if ( x == y)
							v[j].points += 1;
						if (x > y)
							v[j].points += 3;
						ok1 = 1;			
					}				
				}
		if (ok2 == 0)
			for (j = 1;j<=4 && ok2==0;++j)
				{
					if (strcmp(v[j].s, "") == 0)
					{
						strcpy(v[j].s, s2);
						v[j].goals += y;
						if ( x == y)
							v[j].points += 1;
						if (x < y)
							v[j].points += 3;
						ok2=1;			
					}				
				}
		
		
	}	
	for (i = 1; i<4; ++i)
		{
			for (j = i+1;j<=4;++j)
				if (v[i].points < v[j].points)
					{
						aux = v[j];
						v[j] = v[i];
						v[i] = aux;
						
					}
		}
	for (i = 1; i<4; ++i)
		{
			for (j = i+1;j<=4;++j)
				if (v[i].points == v[j].points && v[i].goals < v[j].goals)
					{
						aux = v[j];
						v[j] = v[i];
						v[i] = aux;
					}
		}	
	for (i = 1; i<4; ++i)
		{
			for (j = i+1;j<=4;++j)
				if (v[i].points == v[j].points && v[i].goals == v[j].goals && strcmp(v[i].s, v[j].s) < 0)
					{
						aux = v[j];
						v[j] = v[i];
						v[i] = aux;
						
					}
		}
	for (i = 1; i<=4; ++i)
	{
		printf("%s\n", v[i].s);
	}
	return (0);
}