#include <bits/stdc++.h>
using namespace std;
int n, r1 = -1, c1 = -1, r2 = -1, c2 = -1;
int query(int a, int b, int c, int d) {
  fflush(stdout);
  printf("? %d %d %d %d\n", a, b, c, d);
  int ans;
  cin >> ans;
  return ans;
}
int main() {
  cin >> n;
  for (int c = 1; c <= n; c++) {
    int res = query(1, c, n, c);
    if (res & 1) {
      if (c1 == -1)
        c1 = c;
      else
        c2 = c;
    }
  }
  for (int r = 1; r <= n; r++) {
    int res = query(r, 1, r, n);
    if (res & 1) {
      if (r1 == -1)
        r1 = r;
      else
        r2 = r;
    }
  }
  if (r1 == -1) {
    int l = 1, r = n;
    while (l < r) {
      int mid = (l + r) / 2;
      int ans = query(1, c1, mid, c1);
      if (ans & 1)
        r = mid;
      else
        l = mid + 1;
    }
    r1 = r;
    r2 = r;
  }
  if (c1 == -1) {
    int l = 1, r = n;
    while (l < r) {
      int mid = (l + r) / 2;
      int ans = query(r1, 1, r1, mid);
      if (ans & 1)
        r = mid;
      else
        l = mid + 1;
    }
    c1 = r;
    c2 = r;
  }
  if (query(r1, c1, r1, c1) == 1)
    printf("! %d %d %d %d\n", r1, c1, r2, c2);
  else
    printf("! %d %d %d %d\n", r1, c2, r2, c1);
}
