func_code_string: #include <bits/stdc++.h>   using namespace std;   struct Point {     int x;     int y;   };   struct Rect {     int left;     int top;     int right;     int bottom;   };   bool FindBoundary(const vector<Point> &pts, Rect *getRect) {     if (pts.empty()) {       return false;     }     auto it = pts.begin();     getRect->left = it->x;     getRect->right = it->x;     getRect->top = it->y;     getRect->bottom = it->y;     for (auto it = pts.begin(); it != pts.end(); ++it) {       if (getRect->left > it->x) {         getRect->left = it->x;       }       if (getRect->right < it->x) {         getRect->right = it->x;       }       if (getRect->top < it->y) {         getRect->top = it->y;       }       if (getRect->bottom > it->y) {         getRect->bottom = it->y;       }     }     return true;   }   bool IsSquare(const Rect *rect) {     return rect->right - rect->left == rect->top - rect->bottom;   }   bool CheckPoints(const vector<Point> &pts, const Rect *rect, int n) {     int left = 0, top = 0, right = 0, bottom = 0;     bool notAny = true;     for (auto it = pts.begin(); it != pts.end(); ++it) {       notAny = true;       if (it->x == rect->left) {         notAny = false;         ++left;       }       if (it->x == rect->right) {         notAny = false;         ++right;       }       if (it->y == rect->top) {         notAny = false;         ++top;       }       if (it->y == rect->bottom) {         notAny = false;         ++bottom;       }       if (notAny) {         return false;       }     }     if (left < n || right < n || top < n || bottom < n) {       return false;     }     return true;   }   int main(int argc, char *argv[]) {     int n = 0;     cin >> n;     int amount = 4 * n + 1;     vector<Point> points;     for (int i = 0; i < amount; ++i) {       Point pt;       cin >> pt.x >> pt.y;       points.push_back(pt);     }     bool found = false;     for (int i = 0; i < amount; ++i) {       vector<Point> sqPoints;       for (int j = 0; j < amount; ++j) {         if (j != i) {           sqPoints.push_back(points[j]);         }       }       Rect rect;       if (!FindBoundary(sqPoints, &rect)) {         continue;       }       if (!IsSquare(&rect)) {         continue;       }       if (!CheckPoints(sqPoints, &rect, n)) {         continue;       }       printf( %d %d , points[i].x, points[i].y);       break;     }     return 0;   }   