#include<stdio.h>
struct runnner
{
	int bangou;
	float taimu;
};

float swap(float a)
{
	int b;
	a=a*100+0.5;
	b=(int)a;
	a=(float)b;
	return a;
}

int main()
{
	struct runnner r[24],ll;
	int i,j;
	for(i=0;i<24;i++)
	{
		scanf("%d",&r[i].bangou);
		scanf("%f",&r[i].taimu);
	}
	for(i=0;i<7;i++)
	{
		for(j=i+1;j<8;j++)
		{
			if(r[i].taimu>r[j].taimu)
			{
				ll=r[i];
				r[i]=r[j];
				r[j]=ll;
			}
		}
	}
	for(i=8;i<15;i++)
	{
		for(j=i+1;j<16;j++)
		{
			if(r[i].taimu>r[j].taimu)
			{
				ll=r[i];
				r[i]=r[j];
				r[j]=ll;
			}
		}
	}
	for(i=16;i<23;i++)
	{
		for(j=i+1;j<24;j++)
		{
			if(r[i].taimu>r[j].taimu)
			{
				ll=r[i];
				r[i]=r[j];
				r[j]=ll;
			}
		}
	}
	r[4]=r[10];
	r[5]=r[11];
	r[6]=r[18];
	r[7]=r[19];
	for(i=2;i<4;i++)
	{
		for(j=i+1;j<8;j++)
		{
			if(r[i].taimu>r[j].taimu)
			{
				ll=r[i];
				r[i]=r[j];
				r[j]=ll;
			}
		}
	}
	printf("%d %4.2f\n",r[0].bangou,r[0].taimu);
	printf("%d %4.2f\n",r[1].bangou,r[1].taimu);
	printf("%d %4.2f\n",r[8].bangou,r[8].taimu);
	printf("%d %4.2f\n",r[9].bangou,r[9].taimu);
	printf("%d %4.2f\n",r[16].bangou,r[16].taimu);
	printf("%d %4.2f\n",r[17].bangou,r[17].taimu);
	printf("%d %4.2f\n",r[2].bangou,r[2].taimu);
	printf("%d %4.2f\n",r[3].bangou,r[3].taimu);
}