#include <bits/stdc++.h>
using namespace std;
const long double PI = 3.141592653589793238462643383279502884L;
const long double E = 2.718281828459045235360287471352662498L;
const long double EPS = 1e-12L;
int n, t, l, r, b;
int b1() {
  int mm;
  char c;
  int ll = 1, rr = n;
  while (rr - ll > 1) {
    mm = (ll + rr) / 2;
    cout << "? ";
    cout << mm << ' ';
    cout << 1 << ' ';
    cout << n << ' ';
    cout << n << endl;
    cin >> c;
    if (c == '2') {
      ll = mm;
    } else {
      rr = mm;
    }
  }
  cout << "? ";
  cout << rr << ' ';
  cout << 1 << ' ';
  cout << n << ' ';
  cout << n << endl;
  cin >> c;
  return c == '2' ? rr : ll;
}
int l1() {
  int mm;
  char c;
  int ll = 1, rr = n;
  while (rr - ll > 1) {
    mm = (ll + rr) / 2;
    cout << "? ";
    cout << 1 << ' ';
    cout << mm << ' ';
    cout << n << ' ';
    cout << n << endl;
    cin >> c;
    if (c == '2') {
      ll = mm;
    } else {
      rr = mm;
    }
  }
  cout << "? ";
  cout << 1 << ' ';
  cout << rr << ' ';
  cout << n << ' ';
  cout << n << endl;
  cin >> c;
  return c == '2' ? rr : ll;
}
int t1() {
  int mm;
  char c;
  int ll = 1, rr = n;
  while (rr - ll > 1) {
    mm = (ll + rr) / 2;
    cout << "? ";
    cout << 1 << ' ';
    cout << 1 << ' ';
    cout << mm << ' ';
    cout << n << endl;
    cin >> c;
    if (c == '2') {
      rr = mm;
    } else {
      ll = mm;
    }
  }
  cout << "? ";
  cout << 1 << ' ';
  cout << 1 << ' ';
  cout << ll << ' ';
  cout << n << endl;
  cin >> c;
  return c == '2' ? ll : rr;
}
int r1() {
  int mm;
  char c;
  int ll = 1, rr = n;
  while (rr - ll > 1) {
    mm = (ll + rr) / 2;
    cout << "? ";
    cout << 1 << ' ';
    cout << 1 << ' ';
    cout << n << ' ';
    cout << mm << endl;
    cin >> c;
    if (c == '2') {
      rr = mm;
    } else {
      ll = mm;
    }
  }
  cout << "? ";
  cout << 1 << ' ';
  cout << 1 << ' ';
  cout << n << ' ';
  cout << ll << endl;
  cin >> c;
  return c == '2' ? ll : rr;
}
int b2() {
  int mm;
  char c;
  int ll = b, rr = t;
  while (rr - ll > 1) {
    mm = (ll + rr) / 2;
    cout << "? ";
    cout << mm << ' ';
    cout << l << ' ';
    cout << t << ' ';
    cout << r << endl;
    cin >> c;
    if (c != '0') {
      ll = mm;
    } else {
      rr = mm;
    }
  }
  cout << "? ";
  cout << rr << ' ';
  cout << l << ' ';
  cout << t << ' ';
  cout << r << endl;
  cin >> c;
  return c != '0' ? rr : ll;
}
int l2() {
  int mm;
  char c;
  int ll = l, rr = r;
  while (rr - ll > 1) {
    mm = (ll + rr) / 2;
    cout << "? ";
    cout << b << ' ';
    cout << mm << ' ';
    cout << t << ' ';
    cout << r << endl;
    cin >> c;
    if (c != '0') {
      ll = mm;
    } else {
      rr = mm;
    }
  }
  cout << "? ";
  cout << b << ' ';
  cout << rr << ' ';
  cout << t << ' ';
  cout << r << endl;
  cin >> c;
  return c != '0' ? rr : ll;
}
int t2() {
  int mm;
  char c;
  int ll = b, rr = t;
  while (rr - ll > 1) {
    mm = (ll + rr) / 2;
    cout << "? ";
    cout << b << ' ';
    cout << l << ' ';
    cout << mm << ' ';
    cout << r << endl;
    cin >> c;
    if (c != '0') {
      rr = mm;
    } else {
      ll = mm;
    }
  }
  cout << "? ";
  cout << b << ' ';
  cout << l << ' ';
  cout << ll << ' ';
  cout << r << endl;
  cin >> c;
  return c != '0' ? ll : rr;
}
int r2() {
  int mm;
  char c;
  int ll = l, rr = r;
  while (rr - ll > 1) {
    mm = (ll + rr) / 2;
    cout << "? ";
    cout << b << ' ';
    cout << l << ' ';
    cout << t << ' ';
    cout << mm << endl;
    cin >> c;
    if (c != '0') {
      rr = mm;
    } else {
      ll = mm;
    }
  }
  cout << "? ";
  cout << b << ' ';
  cout << l << ' ';
  cout << t << ' ';
  cout << ll << endl;
  cin >> c;
  return c != '0' ? ll : rr;
}
int bi, li, ti, ri;
char c;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.precision(11);
  cout.setf(ios::fixed);
  cin >> n;
  b = b1();
  l = l1();
  t = t1();
  r = r1();
  bi = b2();
  li = l2();
  ti = t2();
  ri = r2();
  for (int i1 = 0; i1 < 2; ++i1) {
    swap(b, bi);
    for (int i2 = 0; i2 < 2; ++i2) {
      swap(l, li);
      for (int i3 = 0; i3 < 2; ++i3) {
        swap(t, ti);
        for (int i4 = 0; i4 < 2; ++i4) {
          swap(r, ri);
          if (b <= ti && l <= ri && bi <= t && li <= r) {
            char c1, c2;
            cout << "? ";
            cout << bi << ' ';
            cout << li << ' ';
            cout << t << ' ';
            cout << r << endl;
            cin >> c1;
            cout << "? ";
            cout << b << ' ';
            cout << l << ' ';
            cout << ti << ' ';
            cout << ri << endl;
            cin >> c2;
            if (c1 == '1' && c2 == '1') {
              cout << "! ";
              cout << b << ' ';
              cout << l << ' ';
              cout << ti << ' ';
              cout << ri << ' ';
              cout << bi << ' ';
              cout << li << ' ';
              cout << t << ' ';
              cout << r << endl;
              return 0;
            }
          }
        }
      }
    }
  }
  return 0;
}
