#include <bits/stdc++.h>   using namespace std;   struct node {     double x, y;   } g[500];   int main() {     int i, j, k, n, m;     scanf( %d , &n);     for (i = 0; i < n; ++i) {       scanf( %lf%lf , &g[i].x, &g[i].y);     }     double maxx = 0;     double m1, m2;     for (i = 0; i < n - 1; ++i)       for (j = i + 1; j < n; ++j) {         m1 = m2 = 0;         for (k = 0; k < n; ++k) {           if (i == k || j == k) continue;           double temp = (g[i].x - g[k].x) * (g[j].y - g[k].y) -                         (g[j].x - g[k].x) * (g[i].y - g[k].y);           if (temp > 0) {             if (temp > m1) m1 = temp;           } else {             if (temp < m2) m2 = temp;           }         }         if (m1 != 0 && m2 != 0)           if (maxx < m1 + abs(m2)) maxx = m1 + abs(m2);       }     printf( %lf , maxx / 2);   }   