#include <bits/stdc++.h>
using namespace std;
const int maxn = 100010;
int n;
pair<int, int> p[maxn];
vector<int> YY[maxn << 2];
void build(int l, int r, int rt) {
  for (int i = l; i < r + 1; i++) YY[rt].push_back(p[i].second);
  sort(YY[rt].begin(), YY[rt].end());
  if (l != r) {
    int m = l + r >> 1;
    build(l, m, rt << 1);
    build(m + 1, r, rt << 1 | 1);
  }
}
int query(int x, int y, int l, int r, int rt) {
  if (p[l].first > x) return 0;
  if (p[r].first <= x) {
    return upper_bound(YY[rt].begin(), YY[rt].end(), y) - YY[rt].begin();
  }
  int m = l + r >> 1;
  return query(x, y, l, m, rt << 1) + query(x, y, m + 1, r, rt << 1 | 1);
}
int a[10], id[10], b[10];
int x[maxn], y[maxn];
void init() {
  scanf("%d", &n);
  for (int i = 1; i < n + 1; i++)
    scanf("%d%d", &p[i].first, &p[i].second), x[i] = p[i].first,
                                              y[i] = p[i].second;
  sort(p + 1, p + 1 + n);
  sort(x + 1, x + 1 + n);
  sort(y + 1, y + 1 + n);
  for (int i = 1; i < 10; i++) scanf("%d", &b[i]), id[i] = i;
  build(1, n, 1);
}
int ax[3], ay[3];
bool flag;
bool judge() {
  int sx[3], sy[3];
  sx[0] = sy[0] = 0;
  sx[1] = a[1] + a[4] + a[7];
  sx[2] = a[2] + a[5] + a[8] + sx[1];
  sy[1] = a[1] + a[2] + a[3];
  sy[2] = a[4] + a[5] + a[6] + sy[1];
  for (int i = 1; i < 3; i++) {
    if (x[sx[i]] == x[sx[i] + 1]) return false;
    if (y[sy[i]] == y[sy[i] + 1]) return false;
  }
  int fx[3], fy[3];
  for (int i = 1; i < 3; i++) fx[i] = x[sx[i]], fy[i] = y[sy[i]];
  if (query(fx[1], fy[1], 1, n, 1) != a[1]) return false;
  if (query(fx[1], fy[2], 1, n, 1) != a[1] + a[4]) return false;
  if (query(fx[2], fy[1], 1, n, 1) != a[1] + a[2]) return false;
  if (query(fx[2], fy[2], 1, n, 1) != a[1] + a[2] + a[4] + a[5]) return false;
  flag = true;
  for (int i = 1; i < 3; i++) ax[i] = fx[i], ay[i] = fy[i];
  return true;
}
void solv() {
  do {
    for (int i = 1; i < 10; i++) a[i] = b[id[i]];
    if (judge()) {
      printf("%lf %lf\n", ax[1] + 0.5, ax[2] + 0.5);
      printf("%lf %lf\n", ay[1] + 0.5, ay[2] + 0.5);
      break;
    }
  } while (next_permutation(id + 1, id + 10));
  if (!flag) puts("-1");
}
int main() {
  init();
  solv();
  return 0;
}
