func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   int x_search(const int &down, const int &up, const int &c) {     int l = down, r = up, key = 0;     while (l <= r) {       int mid = (l + r) / 2, cnt;       cout <<  ?   << mid <<     << 1 <<     << n <<     << n <<   n ;       cin >> cnt;       if (cnt >= c) {         key = mid;         l = mid + 1;       } else         r = mid - 1;     }     return key;   }   int u_search(const int &left, const int &right, const int &c) {     int l = left, r = right, key = right + 1;     while (l <= r) {       int mid = (l + r) / 2, cnt;       cout <<  ?   << 1 <<     << 1 <<     << mid <<     << n <<   n ;       cin >> cnt;       if (cnt >= c) {         key = mid;         r = mid - 1;       } else         l = mid + 1;     }     return key;   }   int y_search(const int &left, const int &right, const int &c) {     int l = left, r = right, key = 0;     while (l <= r) {       int mid = (l + r) / 2, cnt;       cout <<  ?   << 1 <<     << mid <<     << n <<     << n <<   n ;       cin >> cnt;       if (cnt >= c) {         key = mid;         l = mid + 1;       } else         r = mid - 1;     }     return key;   }   int v_search(const int &left, const int &right, const int &c) {     int l = left, r = right, key = right + 1;     while (l <= r) {       int mid = (l + r) / 2, cnt;       cout <<  ?   << 1 <<     << 1 <<     << n <<     << mid <<   n ;       cin >> cnt;       if (cnt >= c) {         key = mid;         r = mid - 1;       } else         l = mid + 1;     }     return key;   }   void check(int x_1, int y_1, int u_1, int v_1, int x_2, int y_2, int u_2,              int v_2) {     if (x_1 > u_1 || y_1 > v_1 || x_2 > u_2 || y_2 > v_2) return;     int c1, c2;     cout <<  ?   << x_1 <<     << y_1 <<     << u_1 <<     << v_1 <<   n ;     cin >> c1;     cout <<  ?   << x_2 <<     << y_2 <<     << u_2 <<     << v_2 <<   n ;     cin >> c2;     if (c1 == 1 && c2 == 1)       cout <<  !   << x_1 <<     << y_1 <<     << u_1 <<     << v_1 <<     << x_2            <<     << y_2 <<     << u_2 <<     << v_2 <<   n ;   }   int main() {     cin >> n;     int x_1 = x_search(1, n, 2), x_2 = x_search(x_1, n, 1),         u_2 = u_search(1, n, 2), u_1 = u_search(1, u_2, 1),         y_1 = y_search(1, n, 2), y_2 = y_search(y_1, n, 1),         v_2 = v_search(1, n, 2), v_1 = v_search(1, v_2, 1);     int c;     check(x_1, y_1, u_1, v_1, x_2, y_2, u_2, v_2);     check(x_1, y_1, u_2, v_1, x_2, y_2, u_1, v_2);     check(x_1, y_1, u_1, v_2, x_2, y_2, u_2, v_1);     check(x_1, y_1, u_2, v_2, x_2, y_2, u_1, v_1);     check(x_1, y_2, u_1, v_1, x_2, y_1, u_2, v_2);     check(x_1, y_2, u_2, v_1, x_2, y_1, u_1, v_2);     check(x_1, y_2, u_1, v_2, x_2, y_1, u_2, v_1);     check(x_1, y_2, u_2, v_2, x_2, y_1, u_1, v_1);   }   