var
 f,g:text;
 p,q:boolean;
 rez,pom,minl,mind:real;
 i,j,k,n:longint;
 x,y:array[1..2000]of real;
Function povrsina:real;
 begin
  povrsina:=0.5*abs(x[i]*y[j]-x[j]*y[i]+x[j]*y[k]-x[k]*y[j]+x[k]*y[i]-x[i]*y[k]);
 end;
begin
 assign(f,'farmeri.in');
 reset(f);
 assign(g,'');
 rewrite(g);
 readln(f,n);
 for i:=1 to n do readln(f,x[i],y[i]);
 for i:=1 to n-1 do
  for j:=i+1 to n do begin
   minl:=-1;mind:=-1;
   for k:=1 to n do
    if (k<>i)and(k<>j) then
     if (x[k]-x[i])*(y[j]-y[i])-(x[j]-x[i])*(y[k]-y[i])<=0 then
       begin
        pom:=povrsina;
        if (pom>minl)or(minl<0) then minl:=pom;
       end
     else
      begin
       pom:=povrsina;
       if (pom>mind)or(mind<0) then mind:=pom;
      end;
    if (minl>=0)and(mind>=0)then if rez<minl+mind then rez:=minl+mind;
   end;
 writeln(g,rez:0:3);
end.
