#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
struct P {
  int x, y, id;
} ox[N], oy[N];
int n, m, k, a[10], rt[N], yy[N], yy_num;
inline bool cmp_x(P u, P v) { return u.x < v.x; }
inline bool cmp_y(P u, P v) { return u.y < v.y; }
struct _seg {
  int size, f[N * 20], c[N * 20][2];
  inline void add(int x, int la, int &no, int l = 1, int r = yy_num) {
    if (!no) no = ++size;
    f[no] = f[la] + 1;
    if (l == r) return;
    int mid = (l + r) >> 1;
    if (x <= mid)
      add(x, c[la][0], c[no][0], l, mid), c[no][1] = c[la][1];
    else
      add(x, c[la][1], c[no][1], mid + 1, r), c[no][0] = c[la][0];
  }
  inline int ask(int no, int x, int y, int l = 1, int r = yy_num) {
    if (l > y || r < x) return 0;
    if (x <= l && r <= y) return f[no];
    int mid = (l + r) >> 1;
    return ask(c[no][0], x, y, l, mid) + ask(c[no][1], x, y, mid + 1, r);
  }
} T;
int main() {
  scanf("%d", &k);
  for (int i = 1; i <= k; ++i) scanf("%d%d", &ox[i].x, &ox[i].y);
  sort(ox + 1, ox + k + 1, cmp_x);
  for (int i = 1; i <= k; ++i) ox[i].id = i, oy[i] = ox[i];
  sort(oy + 1, oy + k + 1, cmp_y);
  for (int i = 1; i <= k; ++i) yy[i] = oy[i].y;
  yy_num = unique(yy + 1, yy + k + 1) - yy - 1;
  yy[++yy_num] = 2e9;
  for (int i = 1; i <= k; ++i)
    T.add(lower_bound(yy + 1, yy + yy_num + 1, ox[i].y) - yy, rt[i - 1], rt[i]);
  for (int i = 0; i < 9; ++i) scanf("%d", &a[i]);
  sort(a, a + 9);
  do {
    int x1 = a[0] + a[3] + a[6], x2 = x1 + a[1] + a[4] + a[7];
    int y1 = a[6] + a[7] + a[8], y2 = y1 + a[3] + a[4] + a[5];
    if (ox[x1].x == ox[x1 + 1].x) continue;
    if (ox[x2].x == ox[x2 + 1].x) continue;
    if (oy[y1].y == oy[y1 + 1].y) continue;
    if (oy[y2].y == oy[y2 + 1].y) continue;
    if (T.ask(rt[x1], 1, lower_bound(yy + 1, yy + yy_num + 1, oy[y1].y) - yy) !=
        a[6])
      continue;
    if (T.ask(rt[x1], 1, lower_bound(yy + 1, yy + yy_num + 1, oy[y2].y) - yy) !=
        a[6] + a[3])
      continue;
    if (T.ask(rt[x2], 1, lower_bound(yy + 1, yy + yy_num + 1, oy[y1].y) - yy) !=
        a[6] + a[7])
      continue;
    if (T.ask(rt[x2], 1, lower_bound(yy + 1, yy + yy_num + 1, oy[y2].y) - yy) !=
        a[6] + a[7] + a[3] + a[4])
      continue;
    printf("%.10lf %.10lf\n%.10lf %.10lf", ox[x1].x + 0.5, ox[x2].x + 0.5,
           oy[y1].y + 0.5, oy[y2].y + 0.5);
    return 0;
  } while (next_permutation(a, a + 9));
  puts("-1");
  return 0;
}
