#include <bits/stdc++.h>
using namespace std;
struct point{
double x,y;
point(double A,double B){
x=A,y=B;
}
point() = default;
};
struct triangle{
point a,b,c;
triangle(point A,point B,point C){
a=A,b=B,c=C;
}
triangle() = default;
};
double getArea(triangle T){
// TODO: 计算三角形T的面积
double ab=sqrt((T.a.x-T.b.x)*(T.a.x-T.b.x)+(T.a.y-T.b.y)*(T.a.y-T.b.y));
double ac=sqrt((T.a.x-T.c.x)*(T.a.x-T.c.x)+(T.a.y-T.c.y)*(T.a.y-T.c.y));
double bc=sqrt((T.b.x-T.c.x)*(T.b.x-T.c.x)+(T.b.y-T.c.y)*(T.b.y-T.c.y));
double p=(ab+ac+bc)/2;
double S=sqrt(p*(p-ab)*(p-ac)*(p-bc));
return S;
}
int main(){
int x1,y1,x2,y2,x3,y3;
cin>>x1>>y1;
cin>>x2>>y2;
cin>>x3>>y3;
point po1=point(x1,y1);
point po2=point(x2,y2);
point po3=point(x3,y3);
triangle tri=triangle(po1,po2,po3);
cout<<fixed<<setprecision(2)<<getArea(tri)<<endl;
return 0;
}