#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 ret;//定义结果变量

    double a=T.a.x-T.b.x;
       double b=T.a.y-T.b.y;
       double dst=sqrt(a*a+b*b);//计算A、B两点的距离
       

    if(T.a.x==T.b.x){
    double vec=fabs(T.a.x-T.c.x);
    ret=dst*vec/2;
	  //(特殊情况)如果直线AB垂直于x轴,则计算C到AB的距离,套用三角形面积公式
    return ret;
    }
    double k=(T.a.y-T.b.y)/(T.a.x-T.b.x);
    double sq=sqrt(k*k+1);
    double tal=(fabs(-k*T.c.x+T.c.y+T.a.x*k-T.a.y))/sq;
  //(一般情况)计算C到AB的距离,套用三角形面积公式
    ret=dst*tal/2;
    return ret;
}

































































































































































































int main(){
    int x, y;
    cin >> x >> y;
    point a(x, y);
    cin >> x >> y;
    point b(x, y);
    cin >> x >> y;
    point c(x, y);
    triangle T(a, b, c);
    cout << fixed << setprecision(2) << getArea(T) << endl;
    return 0;
}