#include <bits/stdc++.h>
using namespace std;
bool debug = false;
int n, m, k;
int dx[4] = {0, 1, 0, -1}, dy[4] = {1, 0, -1, 0};
long long ln, lk, lm;
vector<pair<double, double>> ps;
vector<int> vx, vy, xx, yy;
map<pair<int, int>, int> mp;
set<int> sx, sy;
int a[9];
int ax1, ax2, ay1, ay2;
int dp[1000][1000];
void ck(int ty) {
  if (ty == 0) {
    sx.insert(ax1);
    sx.insert(ax2);
    sy.insert(ay1);
    sy.insert(ay2);
  } else {
    if (mp[{ax1, ay1}] != a[0]) return;
    if (mp[{ax1, ay2}] != a[0] + a[3]) return;
    if (mp[{ax2, ay1}] != a[0] + a[1]) return;
    if (mp[{ax2, ay2}] != a[0] + a[1] + a[3] + a[4]) return;
    printf("%.10lf %.10lf\n%.10lf %.10lf\n", ax1 / 2.0, ax2 / 2.0, ay1 / 2.0,
           ay2 / 2.0);
    exit(0);
  }
}
void deal() {
  for (int c : sx) xx.push_back(c);
  for (int c : sy) yy.push_back(c);
  int i, j;
  for (auto p : ps) {
    for (i = 0; i < xx.size(); i++)
      if (2 * p.first < xx[i]) break;
    for (j = 0; j < yy.size(); j++)
      if (2 * p.second < yy[j]) break;
    if (i < xx.size() && j < yy.size()) dp[i][j]++;
  }
  for (i = 0; i < xx.size(); i++) {
    for (j = 0; j < yy.size(); j++) {
      if (i) dp[i][j] += dp[i - 1][j];
      if (j) dp[i][j] += dp[i][j - 1];
      if (i && j) dp[i][j] -= dp[i - 1][j - 1];
      mp[{xx[i], yy[j]}] = dp[i][j];
    }
  }
}
int main() {
  scanf("%d", &n);
  int x, y;
  for (int(i) = 0; (i) < (int)(n); (i)++) {
    scanf("%d%d", &x, &y);
    vx.push_back(x);
    vy.push_back(y);
    ps.push_back({x, y});
  }
  sort(vx.begin(), vx.end());
  sort(vy.begin(), vy.end());
  for (int(i) = 0; (i) < (int)(9); (i)++) scanf("%d", a + i);
  for (int(q) = 0; (q) < (int)(2); (q)++) {
    sort(a, a + 9);
    do {
      int p = a[0] + a[3] + a[6];
      int p2 = p + a[1] + a[4] + a[7];
      if (vx[p] == vx[p - 1]) continue;
      ax1 = (vx[p] + vx[p - 1]);
      if (vx[p2] == vx[p2 - 1]) continue;
      ax2 = (vx[p2] + vx[p2 - 1]);
      p = a[0] + a[1] + a[2];
      if (vy[p] == vy[p - 1]) continue;
      ay1 = (vy[p] + vy[p - 1]);
      p += a[3] + a[4] + a[5];
      if (vy[p] == vy[p - 1]) continue;
      ay2 = (vy[p] + vy[p - 1]);
      ck(q);
    } while (next_permutation(a, a + 9));
    deal();
  }
  puts("-1");
  return 0;
}
