function dl(x1,x2,y1,y2:integer):integer;
begin
dl:=trunc(sqrt(sqr(y2-y1)+sqr(x2-x1)));
end;
var
p2,a,b,c,d,x1,x2,x3,x4,y1,y2,y3,y4:integer;
poly1,poly2,s1,s2,s:real;
begin
readln(x1,y1);
readln(x2,y2);
readln(x3,y3);
readln(x4,y4);
a:=dl(x1,y1,x2,y2);
b:=dl(x2,y2,x3,y3);
c:=dl(x3,y3,x4,y4);
d:=dl(x4,y4,x1,y1);
poly1:=(a+b+c)/2;
poly2:=(a+c+d)/2;
S1:=sqrt(poly1*(poly1-a)*(poly1-b)*(poly1-c));
s2:=sqrt(poly2*(poly1-a)*(poly2-c)*(poly2-d));
s:=S1+s2;
writeln(s:1:1);
readln;
end.