#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;
}