#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f, MOD = 1e9 + 7;
const long long LINF = 0x3f3f3f3f3f3f3f3f;
const double PI = acos(-1), EPS = 1e-9;
const int N = 1e5 + 9;
int r[10];
int main() {
  int x1, x2, y1, y2, h, v;
  int n, fh, fv;
  scanf("%d", &n);
  x1 = y1 = 1;
  h = v = x2 = y2 = n;
  fh = fv = 0;
  for (int i = 16; i >= 0; i--) {
    int a = 1 << i;
    if (a > v - x1) continue;
    printf("? %d %d %d %d\n", x1, y1, v - a, y2);
    fflush(stdout);
    int b;
    scanf("%d", &b);
    if (b) v -= a;
  }
  if (v != n) {
    printf("? %d %d %d %d\n", v + 1, y1, x2, y2);
    fflush(stdout);
    int b;
    scanf("%d", &b);
    if (b) fv = 1;
  }
  for (int i = 16; i >= 0; i--) {
    int a = 1 << i;
    if (a > h - y1) continue;
    printf("? %d %d %d %d\n", x1, y1, x2, h - a);
    fflush(stdout);
    int b;
    scanf("%d", &b);
    if (b) h -= a;
  }
  if (fv) {
    cerr << "fv"
         << " == " << fv << endl;
    ;
    x1 = y1 = 1;
    x2 = y2 = n;
    x2 = v;
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > x2 - x1) continue;
      printf("? %d %d %d %d\n", x1, y1, x2 - a, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) x2 -= a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > x2 - x1) continue;
      printf("? %d %d %d %d\n", x1 + a, y1, x2, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) x1 += a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > y2 - y1) continue;
      printf("? %d %d %d %d\n", x1, y1, x2, y2 - a);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) y2 -= a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > y2 - y1) continue;
      printf("? %d %d %d %d\n", x1, y1 + a, x2, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) y1 += a;
    }
    r[0] = x1, r[1] = y1, r[2] = x2, r[3] = y2;
    x1 = y1 = 1;
    x2 = y2 = n;
    x1 = v + 1;
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > x2 - x1) continue;
      printf("? %d %d %d %d\n", x1, y1, x2 - a, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) x2 -= a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > x2 - x1) continue;
      printf("? %d %d %d %d\n", x1 + a, y1, x2, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) x1 += a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > y2 - y1) continue;
      printf("? %d %d %d %d\n", x1, y1, x2, y2 - a);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) y2 -= a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > y2 - y1) continue;
      printf("? %d %d %d %d\n", x1, y1 + a, x2, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) y1 += a;
    }
    r[4] = x1, r[5] = y1, r[6] = x2, r[7] = y2;
  } else {
    cerr << "fh"
         << " == " << fh << endl;
    ;
    x1 = y1 = 1;
    x2 = y2 = n;
    y2 = h;
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > x2 - x1) continue;
      printf("? %d %d %d %d\n", x1, y1, x2 - a, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) x2 -= a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > x2 - x1) continue;
      printf("? %d %d %d %d\n", x1 + a, y1, x2, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) x1 += a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > y2 - y1) continue;
      printf("? %d %d %d %d\n", x1, y1, x2, y2 - a);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) y2 -= a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > y2 - y1) continue;
      printf("? %d %d %d %d\n", x1, y1 + a, x2, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) y1 += a;
    }
    r[0] = x1, r[1] = y1, r[2] = x2, r[3] = y2;
    x1 = y1 = 1;
    x2 = y2 = n;
    y1 = h + 1;
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > x2 - x1) continue;
      printf("? %d %d %d %d\n", x1, y1, x2 - a, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) x2 -= a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > x2 - x1) continue;
      printf("? %d %d %d %d\n", x1 + a, y1, x2, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) x1 += a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > y2 - y1) continue;
      printf("? %d %d %d %d\n", x1, y1, x2, y2 - a);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) y2 -= a;
    }
    for (int i = 16; i >= 0; i--) {
      int a = 1 << i;
      if (a > y2 - y1) continue;
      printf("? %d %d %d %d\n", x1, y1 + a, x2, y2);
      fflush(stdout);
      int b;
      scanf("%d", &b);
      if (b) y1 += a;
    }
    r[4] = x1, r[5] = y1, r[6] = x2, r[7] = y2;
  }
  printf("! %d %d %d %d %d %d %d %d\n", r[0], r[1], r[2], r[3], r[4], r[5],
         r[6], r[7]);
  fflush(stdout);
  return 0;
}
