#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k, x1, x2, y1, y2;
  scanf("%d", &n);
  x1 = x2 = -1;
  for (int i = 1; i < n && x2 == -1; i++) {
    printf("? 1 1 %d %d\n", i, n);
    fflush(stdout);
    scanf("%d", &k);
    if ((k & 1) && x1 == -1)
      x1 = i;
    else if (!(k & 1) && x1 != -1 && x2 == -1)
      x2 = i;
  }
  if (x1 != -1 && x2 == -1) x2 = n;
  if (x1 != -1) {
    int l = 0, r = n;
    while (l + 1 != r) {
      int m = (l + r) / 2;
      printf("? %d %d %d %d\n", x1, l + 1, x1, m);
      fflush(stdout);
      scanf("%d", &k);
      if (k & 1)
        r = m;
      else
        l = m;
    }
    y1 = r;
    l = 0;
    r = n;
    while (l + 1 != r) {
      int m = (l + r) / 2;
      printf("? %d %d %d %d\n", x2, l + 1, x2, m);
      fflush(stdout);
      scanf("%d", &k);
      if (k & 1)
        r = m;
      else
        l = m;
    }
    y2 = r;
  } else {
    y1 = y2 = -1;
    for (int i = 1; i < n && y2 == -1; i++) {
      printf("? 1 1 %d %d\n", n, i);
      fflush(stdout);
      scanf("%d", &k);
      if ((k & 1) && y1 == -1)
        y1 = i;
      else if (!(k & 1) && y1 != -1 && y2 == -1)
        y2 = i;
    }
    if (y2 == -1) y2 = n;
    int l = 0, r = n;
    while (l + 1 != r) {
      int m = (l + r) / 2;
      printf("? %d %d %d %d\n", l + 1, y1, m, y1);
      fflush(stdout);
      scanf("%d", &k);
      if (k & 1)
        r = m;
      else
        l = m;
    }
    x1 = r;
    l = 0;
    r = n;
    while (l + 1 != r) {
      int m = (l + r) / 2;
      printf("? %d %d %d %d\n", l + 1, y2, m, y2);
      fflush(stdout);
      scanf("%d", &k);
      if (k & 1)
        r = m;
      else
        l = m;
    }
    x2 = r;
  }
  printf("! %d %d %d %d\n", x1, y1, x2, y2);
  fflush(stdout);
  return 0;
}
