func_code_string: #include <bits/stdc++.h>   using namespace std;   struct TPoint {     double x, y;     TPoint(){};     TPoint(double _x, double _y) {       x = _x;       y = _y;     }   };   struct TVector {     double x, y;     TVector() {}     TVector(TPoint p) {       x = p.x;       y = p.y;     }     TVector(TPoint p1, TPoint p2) {       x = p2.x - p1.x;       y = p2.y - p1.y;     }   };   double cosv(TVector v1, TVector v2) {     return (double)(v2.x * v1.y - v1.x * v2.y);   }   int main() {     int n;     cin >> n;     vector<TPoint> in;     for (int i = 0; i < n; ++i) {       double x, y;       cin >> x >> y;       in.push_back(TPoint(x, y));     }     double maxpl = 0;     for (int i = 0; i < n; ++i) {       for (int j = i + 1; j < n; ++j) {         double lefter = -1, righter = -1;         for (int k = 0; k < n; ++k) {           if (k != i && k != j) {             double cosven = cosv(TVector(in[i], in[j]), TVector(in[i], in[k]));             if (cosven > 0) {               lefter = max(lefter, cosven / 2);             } else {               righter = max(righter, -cosven / 2);             }           }         }         if (lefter > 0 && righter > 0) maxpl = max(maxpl, lefter + righter);       }     }     cout.precision(10);     cout << maxpl << endl;   }   