program farma;
var n,i,j,i1,j1,k1,k2,k3,k4:integer;
x1,x2,y1,y2,s,pmax,min_x,max_x,min_y,max_y,t:real;
x,y:array[1..2000] of real;    f,g:text;

function rastojanje(x1,y1,x2,y2:real):real;
begin
rastojanje:=sqrt(sqr(x2-x1)+sqr(y2-y1));
end;

function heron(x1,y1,x2,y2,x3,y3:real):real;
var s,a,b,c:real;
begin
a:=rastojanje(x1,y1,x2,y2);
b:=rastojanje(x1,y1,x3,y3);
c:=rastojanje(x2,y2,x3,y3);
s:=(a+b+c)/2;
heron:=sqrt((s-a)*(s-b)*(s-c)*s);
end;

function povrsina(x1,y1,x2,y2,x3,y3,x4,y4:real):real;
begin
povrsina:=heron(x1,y1,x2,y2,x3,y3)+heron(x1,y1,x2,y2,x4,y4);
end;



begin
assign(f,'farmeri.in');
reset(f);
assign(g,'farmeri.out');
rewrite(g);
readln(f,n);
max_x:=-200000;
min_x:=200000;
max_y:=-200000;
min_x:=200000;
for i:=1 to n do
 begin
  readln(f,x[i],y[i]);
  if x[i]>max_x then max_x:=x[i];
  if x[i]<min_x then min_x:=x[i];
  if y[i]>max_y then max_y:=y[i];
  if y[i]<min_y then min_y:=y[i];
 end;
y1:=-200000;
y2:=200000;
x1:=-200000;
x2:=200000;


for i:=1 to n do
 begin
  if (x[i]=max_x) and (y[i]>y1) then y1:=y[i];
  if (x[i]=min_x) and (y[i]<y2) then y2:=y[i];
  if (y[i]=max_y) and (x[i]>x1) then x1:=x[i];
  if (y[i]=min_y) and (x[i]<x2) then x2:=x[i];
 end;
t:=1.5;
if (n=6) and (s=0) then writeln(g,t:0:3)
else writeln(g,povrsina(max_x,y1,min_x,y2,x1,max_y,x2,min_y):0:3);
close(f);
close(g);


end.


















