#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <cmath>
#include <sstream>
#include <algorithm>
using namespace std;

typedef long long ll;
typedef pair<double,double> P;
const int MAX=1000000000;

int main() {
  vector<P> a[3];
  for(int i=0; i<3; i++) {
    for(int j=0; j<8; j++) {
      double x,y;
      cin >> x >> y;
      a[i].push_back(P(y,x));
    }
    sort(a[i].begin(),a[i].end());
  }
  vector<P> b;
  for(int i=0; i<3; i++) {
    b.push_back(P(a[i][2].first,a[i][2].second));
    b.push_back(P(a[i][3].first,a[i][3].second));
  }
  sort(b.begin(),b.end());
  for(int i=0; i<3; i++) {
    for(int j=0; j<2; j++) printf("%d %.2f\n",(int)a[i][j].second,a[i][j].first);
  }
  for(int j=0; j<2; j++) printf("%d %.2f\n",(int)b[j].second,b[j].first);
  return 0;
}
