#include<iostream>
//#include<fstream>
#include<cstring>
using namespace std;
struct team
{
	int pct,mar,pri;
	char nume[100];
};
team x[10],cop;
int lib,g1,g2,i,i1,i2,j,v;
char nume1[100],nume2[100];
int main()
{
	//ifstream f("pb2.in");
	lib=1;
	for(i=1;i<=6;i++)
	{
		cin>>nume1;
		i1=0;
		for(j=1;j<=4;j++)
			if(strcmp(nume1,x[j].nume)==0)
				i1=j;
		if(i1==0)
		{
			i1=lib;
			strcpy(x[i1].nume,nume1);
			lib++;
		}
		cin>>nume2;
		i2=0;
		for(j=1;j<=4;j++)
			if(strcmp(nume2,x[j].nume)==0)
				i2=j;
		if(i2==0)
		{
			i2=lib;
			strcpy(x[i2].nume,nume2);
			lib++;
		}
		cin>>g1>>g2;
		if(g1>g2)
			x[i1].pct=x[i1].pct+3;
		if(g1<g2)
			x[i2].pct=x[i2].pct+3;
		if(g1==g2)
		{
			x[i1].pct++;
			x[i2].pct++;
		}
		x[i1].mar=x[i1].mar+g1;
		x[i1].pri=x[i1].pri+g2;
		x[i2].mar=x[i2].mar+g2;
		x[i2].pri=x[i2].pri+g1;		
	}
	v=1;
	while(v==1)
	{
		v=0;
		for(i=1;i<=3;i++)
		{
			if(x[i].pct<x[i+1].pct)
			{
				cop=x[i];
				x[i]=x[i+1];
				x[i+1]=cop;
				v=1;
			}
			if(x[i].pct==x[i+1].pct)
			{
				if(x[i].mar<x[i+1].mar)
				{
					cop=x[i];
					x[i]=x[i+1];
					x[i+1]=cop;
					v=1;
				}
				if(x[i].mar==x[i+1].mar)
				{
					if(x[i].pri>x[i+1].pri)
					{
						cop=x[i];
						x[i]=x[i+1];
						x[i+1]=cop;				
						v=1;
					}
					if(x[i].pri==x[i+1].pri)
						if(strcmp(x[i].nume,x[i+1].nume)>0)
						{
							cop=x[i];
							x[i]=x[i+1];
							x[i+1]=cop;							
							v=1;
						}
				}
			}
		}
	}
	for(i=1;i<=4;i++)
		cout<<x[i].nume<<'\n';
	return 0;
}