func_code_string: #include <bits/stdc++.h>   #pragma warning(disable : 4996)   using namespace std;   template <typename T, typename U>   pair<T, U> operator+(const pair<T, U> &l, const pair<T, U> &r) {     return make_pair(l.first + r.first, l.second + r.second);   }   template <typename T, typename U>   pair<T, U> operator-(const pair<T, U> &l, const pair<T, U> &r) {     return make_pair(l.first - r.first, l.second - r.second);   }   template <typename T, typename U>   pair<T, U> operator*(const pair<T, U> &l, const long long &r) {     return make_pair(l.first * r, l.second * r);   }   template <typename T, typename U>   pair<T, U> operator*(const pair<T, U> &l, const pair<T, U> &r) {     return make_pair(l.first * r.first, l.second * r.second);   }   template <typename T, typename U>   pair<T, U> operator%(const pair<T, U> &l, const int &r) {     return make_pair(l.first % r, l.second % r);   }   long long n, m;   pair<long long, long long> a[6000];   long long ccw(pair<long long, long long> x, pair<long long, long long> y,                 pair<long long, long long> z) {     return (y.first - x.first) * (z.second - x.second) -            (z.first - x.first) * (y.second - x.second);   }   int main() {     int i, j, k, l;     cin >> n >> m;     for (i = 0; i < n; i++) scanf( %lld%lld , &a[i].first, &a[i].second);     sort(a, a + n);     sort(a + 1, a + n,          [&](pair<long long, long long> x, pair<long long, long long> y) {            if (ccw(a[0], x, y) == 0)              return x < y;            else              return ccw(a[0], x, y) > 0;          });     vector<pair<long long, long long> > hull;     hull.push_back(a[0]);     for (i = 1; i < n; i++) {       while (hull.size() >= 2 &&              ccw(hull[hull.size() - 2], hull[hull.size() - 1], a[i]) <= 0)         hull.pop_back();       hull.push_back(a[i]);     }     for (i = 0; i * 2 < hull.size(); i++) hull.push_back(hull[i]);     long long ma = 0;     pair<long long, long long> ax, ay, az;     int u = hull.size() / 2;     for (i = 0; i < u; i++) {       int now = i + 1;       for (j = i + 1; j < i + u; j++) {         for (; now < i + u; now++) {           if (now == i + u - 1 || ccw(hull[i], hull[j], hull[now]) >                                       ccw(hull[i], hull[j], hull[now + 1]))             break;         }         if (ma < ccw(hull[i], hull[j], hull[now])) {           ma = ccw(hull[i], hull[j], hull[now]);           ax = hull[i], ay = hull[j], az = hull[now];         }       }     }     pair<long long, long long> dx, dy, dz;     dz = ax + ay - az;     dy = ax + az - ay;     dx = ay + az - ax;     printf( %lld %lld n%lld %lld n%lld %lld , dx.first, dx.second, dy.first,            dy.second, dz.first, dz.second);     return 0;   }   