#include <bits/stdc++.h>
int l[1000], c[1000];
int ma[1001][1001];
int main() {
  int n, i, j, cl1, cl2, cc1, cc2;
  cl1 = cl2 = cc1 = cc2 = -1;
  int x;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    printf("? %d 1 %d %d\n", i + 1, i + 1, n);
    fflush(stdout);
    scanf("%d", &l[i]);
    l[i] %= 2;
    if (l[i] == -1)
      return 0;
    else if (l[i]) {
      if (cl1 == -1)
        cl1 = i;
      else
        cl2 = i;
    }
  }
  for (i = 0; i < n; i++) {
    printf("? 1 %d %d %d\n", i + 1, n, i + 1);
    fflush(stdout);
    scanf("%d", &c[i]);
    c[i] %= 2;
    if (c[i] == -1)
      return 0;
    else if (c[i]) {
      if (cc1 == -1)
        cc1 = i;
      else
        cc2 = i;
    }
  }
  if (cl1 == -1) {
    int r = -1, pas = (1 << 10);
    while (pas > 0) {
      if (r + pas + 1 <= n) {
        printf("? 1 1 %d %d\n", r + pas + 1, cc1 + 1);
        fflush(stdout);
        scanf("%d", &x);
        if (x == -1) return 0;
        x %= 2;
        if (!x) r += pas;
      }
      pas >>= 1;
    }
    r++;
    cl1 = cl2 = r;
  }
  if (cc1 == -1) {
    int r = -1, pas = (1 << 10);
    while (pas > 0) {
      if (r + pas + 1 <= n) {
        printf("? 1 1 %d %d\n", cl1 + 1, r + pas + 1);
        fflush(stdout);
        scanf("%d", &x);
        if (x == -1) return 0;
        x %= 2;
        if (!x) r += pas;
      }
      pas >>= 1;
    }
    r++;
    cc1 = cc2 = r;
  }
  cl1++;
  cc1++;
  cl2++;
  cc2++;
  printf("? %d %d %d %d\n", cl1, cc1, cl1, cc1);
  fflush(stdout);
  scanf("%d", &x);
  x %= 2;
  if (x == -1) return 0;
  if (x) ma[cl1][cc1] = 1;
  printf("? %d %d %d %d\n", cl1, cc2, cl1, cc2);
  fflush(stdout);
  scanf("%d", &x);
  x %= 2;
  if (x == -1) return 0;
  if (x) ma[cl1][cc2] = 1;
  printf("? %d %d %d %d\n", cl2, cc1, cl2, cc1);
  fflush(stdout);
  scanf("%d", &x);
  x %= 2;
  if (x == -1) return 0;
  if (x) ma[cl2][cc1] = 1;
  printf("? %d %d %d %d\n", cl2, cc2, cl2, cc2);
  fflush(stdout);
  scanf("%d", &x);
  x %= 2;
  if (x == -1) return 0;
  if (x) ma[cl2][cc2] = 1;
  int rez[10][2], dr = 0;
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
      if (ma[i][j]) rez[dr][0] = i, rez[dr][1] = j, dr++;
    }
  }
  printf("! %d %d %d %d\n", rez[0][0], rez[0][1], rez[1][0], rez[1][1]);
  fflush(stdout);
  return 0;
}
