#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000006;
int x11, y11, x12, y12, x21, y21, x22, y22;
bool inclui(int a, int b, int c, int d) {
  if (a <= x11 && b <= y11 && c >= x12 && d >= y12) return true;
  return false;
}
int main() {
  int n;
  cin >> n;
  int lo = 1, hi = n;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    cout << "? 1 1 " << mid << " " << n << endl;
    fflush(stdout);
    int r;
    cin >> r;
    if (r == 0) {
      lo = mid + 1;
    } else {
      hi = mid;
    }
  }
  x12 = lo;
  lo = 1, hi = n;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    cout << "? 1 1 " << x12 << " " << mid << endl;
    fflush(stdout);
    int r;
    cin >> r;
    if (r == 0) {
      lo = mid + 1;
    } else {
      hi = mid;
    }
  }
  y12 = lo;
  lo = 1, hi = x12 + 1;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    cout << "? " << mid << " 1 " << x12 << " " << y12 << endl;
    fflush(stdout);
    int r;
    cin >> r;
    if (r != 0) {
      lo = mid + 1;
    } else {
      hi = mid;
    }
  }
  x11 = lo - 1;
  lo = 1, hi = y12 + 1;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    cout << "? " << x11 << " " << mid << " " << x12 << " " << y12 << endl;
    fflush(stdout);
    int r;
    cin >> r;
    if (r != 0) {
      lo = mid + 1;
    } else {
      hi = mid;
    }
  }
  y11 = lo - 1;
  lo = 1, hi = n;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    cout << "? 1 1 " << mid << " " << n << endl;
    fflush(stdout);
    int r;
    cin >> r;
    if (inclui(1, 1, mid, n)) r--;
    if (r == 0) {
      lo = mid + 1;
    } else {
      hi = mid;
    }
  }
  x22 = lo;
  lo = 1, hi = n;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    cout << "? 1 1 " << x22 << " " << mid << endl;
    fflush(stdout);
    int r;
    cin >> r;
    if (inclui(1, 1, x22, mid)) r--;
    if (r == 0) {
      lo = mid + 1;
    } else {
      hi = mid;
    }
  }
  y22 = lo;
  lo = 1, hi = x22 + 1;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    cout << "? " << mid << " 1 " << x22 << " " << y22 << endl;
    fflush(stdout);
    int r;
    cin >> r;
    if (inclui(mid, 1, x22, y22)) r--;
    if (r != 0) {
      lo = mid + 1;
    } else {
      hi = mid;
    }
  }
  x21 = lo - 1;
  lo = 1, hi = y22 + 1;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    cout << "? " << x21 << " " << mid << " " << x22 << " " << y22 << endl;
    fflush(stdout);
    int r;
    cin >> r;
    if (inclui(x21, mid, x22, y22)) r--;
    if (r != 0) {
      lo = mid + 1;
    } else {
      hi = mid;
    }
  }
  y21 = lo - 1;
  cout << "! " << x11 << " " << y11 << " " << x12 << " " << y12 << " " << x21
       << " " << y21 << " " << x22 << " " << y22 << endl;
}
