#include <iostream>
#include <queue>

using namespace std;
typedef pair<double, int> P;

void solve()
{
	priority_queue<P, vector<P>, greater<P>> PQue[3];
	for(int a = 0; a < 3; ++a)
	{
		for(int i = 0; i < 8; ++i)
		{
			P p;
			cin >> p.second >> p.first;
			PQue[a].push(p);
		}
	}
	for(int a = 0; a < 3; ++a)
	{
		for(int i = 0; i < 2; ++i)
		{
			printf("%d %.2f\n", PQue[a].top().second, PQue[a].top().first);
			PQue[a].pop();
		}
	}
	for(int a = 1; a < 3; ++a)
	{
		for(int i = 0; i < 2; ++i)
		{
			PQue[0].push(PQue[a].top());
			PQue[a].pop();
		}
	}
	for(int i = 0; i < 2; ++i)
	{
		printf("%d %.2f\n", PQue[0].top().second, PQue[0].top().first);
		PQue[0].pop();
	}

}

int main()
{
	solve();
	return(0);
}