#include<iostream>
#include<cstdio>
#include<algorithm>
#include<climits>
#include<string>
#include<vector>
#include<list>
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<cstring>
#include<stack>
#include<functional>
using namespace std;

struct Data{
	int n;
	double t;
	bool operator <(const Data &a)const{
		return t<a.t;
	}
	void output(){
		printf("%d %.2lf\n",n,t);
	}
};

int main(){
	Data a[3][8];
	vector<Data> sonota;
	for(int i=0;i<3;i++)for(int j=0;j<8;j++) cin>>a[i][j].n>>a[i][j].t;
	for(int i=0;i<3;i++){
		sort(a[i],a[i]+8);
		a[i][0].output(); a[i][1].output();
		sonota.push_back(a[i][2]); sonota.push_back(a[i][3]);
	}
	sort(sonota.begin(),sonota.end());
	sonota[0].output(); sonota[1].output();
	return 0;
}