#include <stdio.h>
#include <math.h>
#include <algorithm>

using namespace std;

struct Info{
	int id;
	double time_record;
};

int main(){

	Info group1[8],group2[8],group3[8],rest[6];

	for(int i = 0; i < 8; i++){
		scanf("%d %lf",&group1[i].id,&group1[i].time_record);
	}
	for(int i = 0; i < 8; i++){
		scanf("%d %lf",&group2[i].id,&group2[i].time_record);
	}
	for(int i = 0; i < 8; i++){
		scanf("%d %lf",&group3[i].id,&group3[i].time_record);
	}

	for(int i=1; i <= 7; i++){
		for(int k=7; k >= i; k--){
			if(group1[k].time_record < group1[k-1].time_record)swap(group1[k],group1[k-1]);
			if(group2[k].time_record < group2[k-1].time_record)swap(group2[k],group2[k-1]);
			if(group3[k].time_record < group3[k-1].time_record)swap(group3[k],group3[k-1]);
		}
	}

	rest[0] = group1[2];
	rest[1] = group1[3];
	rest[2] = group2[2];
	rest[3] = group2[3];
	rest[4] = group3[2];
	rest[5] = group3[3];

	for(int i=1; i <= 5; i++){
		for(int k=5; k >= i; k--){
			if(rest[k].time_record < rest[k-1].time_record)swap(rest[k],rest[k-1]);
		}
	}

	printf("%d %.2lf\n",group1[0].id,group1[0].time_record);
	printf("%d %.2lf\n",group1[1].id,group1[1].time_record);
	printf("%d %.2lf\n",group2[0].id,group2[0].time_record);
	printf("%d %.2lf\n",group2[1].id,group2[1].time_record);
	printf("%d %.2lf\n",group3[0].id,group3[0].time_record);
	printf("%d %.2lf\n",group3[1].id,group3[1].time_record);
	printf("%d %.2lf\n",rest[0].id,rest[0].time_record);
	printf("%d %.2lf\n",rest[1].id,rest[1].time_record);


	return 0;
}