#include <bits/stdc++.h>
using namespace std;
int n;
const int mod = 1e9 + 7;
const double eps = 1e-9;
int fix1, fiy1, fix2, fiy2;
int sex1, sey1, sex2, sey2;
inline int inside(int xa, int ya, int xb, int yb) {
  if (fix1 >= xa && fix1 <= xb && fix2 >= xa && fix2 <= xb && fiy1 >= ya &&
      fiy1 <= yb && fiy2 >= ya && fiy2 <= yb)
    return 1;
  return 0;
}
inline int check(int xa, int ya, int xb, int yb) {
  int t = 0;
  cout << "?" << ' ' << xa << ' ' << ya << ' ' << xb << ' ' << yb << endl;
  cin >> t;
  return t;
}
inline void findfirst() {
  int lx = 1, rx = n, ly = 1, ry = n;
  int t = 1;
  while (t < n) t *= 2;
  t /= 2;
  for (int i = t; i > 0; i >>= 1) {
    if (rx - i < ly) continue;
    int x = check(lx, ly, rx - i, ry);
    if (x > 0) rx -= i;
  }
  for (int i = t; i > 0; i >>= 1) {
    if (lx + i > rx) continue;
    int x = check(lx + i, ly, rx, ry);
    if (x > 0) lx += i;
  }
  for (int i = t; i > 0; i >>= 1) {
    if (ry - i < ly) continue;
    int x = check(lx, ly, rx, ry - i);
    if (x > 0) ry -= i;
  }
  for (int i = t; i > 0; i >>= 1) {
    if (ly + i > ry) continue;
    int x = check(lx, ly + i, rx, ry);
    if (x > 0) ly += i;
  }
  fix1 = lx, fix2 = rx, fiy1 = ly, fiy2 = ry;
}
inline void findsecond() {
  int lx = 1, rx = n, ly = 1, ry = n;
  int t = 1;
  while (t < n) t *= 2;
  t /= 2;
  for (int i = t; i > 0; i >>= 1) {
    if (rx - i < lx) continue;
    int x = check(lx, ly, rx - i, ry);
    x -= inside(lx, ly, rx - i, ry);
    if (x > 0) rx -= i;
  }
  for (int i = t; i > 0; i >>= 1) {
    if (lx + i > rx) continue;
    int x = check(lx + i, ly, rx, ry);
    x -= inside(lx + i, ly, rx, ry);
    if (x > 0) lx += i;
  }
  for (int i = t; i > 0; i >>= 1) {
    if (ry - i < ly) continue;
    int x = check(lx, ly, rx, ry - i);
    x -= inside(lx, ly, rx, ry - i);
    if (x > 0) ry -= i;
  }
  for (int i = t; i > 0; i >>= 1) {
    if (ly + i > ry) continue;
    int x = check(lx, ly + i, rx, ry);
    x -= inside(lx, ly + i, rx, ry);
    if (x > 0) ly += i;
  }
  sex1 = lx, sex2 = rx, sey1 = ly, sey2 = ry;
}
int main() {
  cin >> n;
  findfirst();
  findsecond();
  cout << "! " << fix1 << ' ' << fiy1 << ' ' << fix2 << ' ' << fiy2 << ' '
       << sex1 << ' ' << sey1 << ' ' << sex2 << ' ' << sey2 << endl;
  return 0;
}
