#include <bits/stdc++.h>
using namespace std;
int n, r11, c11, r12, c12, r21, c21, r22, c22;
int main() {
  scanf("%d", &n);
  int lo = 1, hi = n;
  while (lo < hi) {
    int mi = (lo + hi + 1) / 2;
    printf("? %d %d %d %d\n", mi, 1, n, n);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret)
      lo = mi;
    else
      hi = mi - 1;
  }
  r11 = lo;
  lo = r11, hi = n;
  while (lo < hi) {
    int mi = (lo + hi) / 2;
    printf("? %d %d %d %d\n", r11, 1, mi, n);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret)
      hi = mi;
    else
      lo = mi + 1;
  }
  r12 = lo;
  lo = 1, hi = n;
  while (lo < hi) {
    int mi = (lo + hi + 1) / 2;
    printf("? %d %d %d %d\n", r11, mi, r12, n);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret)
      lo = mi;
    else
      hi = mi - 1;
  }
  c11 = lo;
  lo = c11, hi = n;
  while (lo < hi) {
    int mi = (lo + hi) / 2;
    printf("? %d %d %d %d\n", r11, c11, r12, mi);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret)
      hi = mi;
    else
      lo = mi + 1;
  }
  c12 = lo;
  int R21, C21, R22, C22;
  bool found = false;
  if (!found && c11 > 1) {
    R21 = 1;
    C21 = 1;
    R22 = n;
    C22 = c11 - 1;
    printf("? %d %d %d %d\n", R21, C21, R22, C22);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret) found = true;
  }
  if (!found && r11 > 1) {
    R21 = 1;
    C21 = 1;
    R22 = r11 - 1;
    C22 = n;
    printf("? %d %d %d %d\n", R21, C21, R22, C22);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret) found = true;
  }
  if (!found && r12 < n) {
    R21 = r12 + 1;
    C21 = 1;
    R22 = n;
    C22 = n;
    printf("? %d %d %d %d\n", R21, C21, R22, C22);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret) found = true;
  }
  if (!found && c12 < n) {
    R21 = 1;
    C21 = c12 + 1;
    R22 = n;
    C22 = n;
    printf("? %d %d %d %d\n", R21, C21, R22, C22);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret) found = true;
  }
  lo = R21, hi = R22;
  while (lo < hi) {
    int mi = (lo + hi + 1) / 2;
    printf("? %d %d %d %d\n", mi, C21, R22, C22);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret)
      lo = mi;
    else
      hi = mi - 1;
  }
  r21 = lo;
  lo = r21, hi = R22;
  while (lo < hi) {
    int mi = (lo + hi) / 2;
    printf("? %d %d %d %d\n", r21, C21, mi, C22);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret)
      hi = mi;
    else
      lo = mi + 1;
  }
  r22 = lo;
  lo = C21, hi = C22;
  while (lo < hi) {
    int mi = (lo + hi + 1) / 2;
    printf("? %d %d %d %d\n", r21, mi, r22, C22);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret)
      lo = mi;
    else
      hi = mi - 1;
  }
  c21 = lo;
  lo = c21, hi = C22;
  while (lo < hi) {
    int mi = (lo + hi) / 2;
    printf("? %d %d %d %d\n", r21, c21, r22, mi);
    fflush(stdout);
    int ret;
    scanf("%d", &ret);
    if (ret)
      hi = mi;
    else
      lo = mi + 1;
  }
  c22 = lo;
  printf("! %d %d %d %d %d %d %d %d\n", r11, c11, r12, c12, r21, c21, r22, c22);
  fflush(stdout);
  return 0;
}
