#include <bits/stdc++.h>
using namespace std;
long long int a1, a2, b1, b2, x1, x2, yone, y2, mid;
bool contains(int i) {
  if (i == 1)
    return (mid <= a1 && x2 >= a2 && yone <= b1 && y2 >= b2);
  else if (i == 2)
    return (x1 <= a1 && x2 >= a2 && mid <= b1 && y2 >= b2);
  else if (i == 3)
    return (x1 <= a1 && mid >= a2 && yone <= b1 && y2 >= b2);
  else
    return (x1 <= a1 && x2 >= a2 && yone <= b1 && mid >= b2);
}
int main() {
  long long int i, n, left, right, temp;
  cin >> n;
  x1 = 1, x2 = n, yone = 1, y2 = n;
  for (i = 1; i <= 4; i++) {
    left = 1, right = n;
    if (i == 3)
      left = x1;
    else if (i == 4)
      left = yone;
    while (left <= right) {
      mid = (left + right) / 2;
      if (i == 1)
        cout << "? " << mid << " " << yone << " " << x2 << " " << y2 << endl;
      else if (i == 2)
        cout << "? " << x1 << " " << mid << " " << x2 << " " << y2 << endl;
      else if (i == 3)
        cout << "? " << x1 << " " << yone << " " << mid << " " << y2 << endl;
      else
        cout << "? " << x1 << " " << yone << " " << x2 << " " << mid << endl;
      fflush(stdout);
      cin >> temp;
      if (temp == 0) {
        if (i == 1 || i == 2)
          right = mid - 1;
        else
          left = mid + 1;
      } else {
        if (i == 1)
          x1 = mid;
        else if (i == 2)
          yone = mid;
        else if (i == 3)
          x2 = mid;
        else
          y2 = mid;
        if (i == 1 || i == 2)
          left = mid + 1;
        else
          right = mid - 1;
      }
    }
  }
  a1 = x1, a2 = x2, b1 = yone, b2 = y2;
  x1 = 1, x2 = n, yone = 1, y2 = n;
  for (i = 1; i <= 4; i++) {
    left = 1, right = n;
    if (i == 3)
      left = x1;
    else if (i == 4)
      left = yone;
    while (left <= right) {
      mid = (left + right) / 2;
      if (i == 1)
        cout << "? " << mid << " " << yone << " " << x2 << " " << y2 << endl;
      else if (i == 2)
        cout << "? " << x1 << " " << mid << " " << x2 << " " << y2 << endl;
      else if (i == 3)
        cout << "? " << x1 << " " << yone << " " << mid << " " << y2 << endl;
      else
        cout << "? " << x1 << " " << yone << " " << x2 << " " << mid << endl;
      fflush(stdout);
      cin >> temp;
      if (contains(i)) temp--;
      if (temp == 0) {
        if (i == 1 || i == 2)
          right = mid - 1;
        else
          left = mid + 1;
      } else {
        if (i == 1)
          x1 = mid;
        else if (i == 2)
          yone = mid;
        else if (i == 3)
          x2 = mid;
        else
          y2 = mid;
        if (i == 1 || i == 2)
          left = mid + 1;
        else
          right = mid - 1;
      }
    }
  }
  cout << "! " << x1 << " " << yone << " " << x2 << " " << y2 << " " << a1
       << " " << b1 << " " << a2 << " " << b2 << endl;
  return 0;
}
