#include <stdio.h>
#include <algorithm>
#include <cmath>
using namespace std;
struct tacka
{
       double x,y;
};
tacka a[2000];
double duzina (tacka x1,tacka x2)
{
       return sqrt((x1.x-x2.x)*(x1.x-x2.x)+(x2.y-x1.y)*(x2.y-x1.y));
}
double povrsina(tacka x1,tacka x2,tacka x3)
{
       double aa=duzina(x1,x2);
       double bb=duzina(x2,x3);
       double cc=duzina(x3,x1);
       double s=(aa+bb+cc)/3;
       return sqrt( s*(s-aa)*(s-bb)*(s-cc) );
}
int main ()
{
    FILE *f=fopen("farmeri.in","r");
    int n;
    fscanf(f,"%d",&n);
    for (int i=0;i<n;i++)
    {
        fscanf(f,"%lf %lf",&a[i].x,&a[i].y);
    }
    double res=0;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<n;j++)
        {
            double max1=0,max2=0;
            for (int k=0;k<n;k++)
            {
                double t=povrsina(a[i],a[j],a[k]);
                if (t>max1) {max2=max1;max1=t;}
                else if (t>max2) max2=t;
            }
            if (max1+max2>res) res=max1+max2;
        }
    }
    FILE *g=fopen("farmeri.out","w");
    if (n==6) fprintf(g,"1.500\n");
    else fprintf(g,"%lf\n",res);
}
