#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std
#define epi 1e-2
#define PI acos(-1)
struct point{
double x,y;
};
double getLength(point &a,point &b){
return sqrt(pow(a.x-b.x,2)+pow(a.y-b.y,2));
}
double getAngle(double a,double R){
double number = 1-pow(a,2)/(2*pow(R,2));
return acos(number);
}
double gcd(double a,double b){
if(fabs(b)<epi)
return a;
if(fabs(a)<epi)
return b;
return gcd(b,fmod(a,b));
}
int main(int argc, char *argv[])
{
point pa,pb,pc;
scanf("%lf %lf",&pa.x,&pa.y);
scanf("%lf %lf",&pb.x,&pb.y);
scanf("%lf %lf",&pc.x,&pc.y);
double ab = getLength(pa,pb);
double ac = getLength(pa,pc);
double bc = getLength(pb,pc);
double p = (ab + ac + bc)/2;
double S = sqrt(p*(p-ab)*(p-ac)*(p-bc));
double R = ab*ac*bc/(4*S)
double angle_1 = getAngle(ab,R);
double angle_2 = getAngle(ac,R);
//double angle_3 = getAngle(bc,R); //?????
double angle_3 = 2*PI - angle_1 - angle_2;
double central_angle = gcd(angle_1,gcd(angle_2,angle_3))
double N = 2*PI/central_angle; //double......
double S_poly = 1.0f/2*pow(R,2)*sin(central_angle)*N;
printf("%.6lf",S_poly
return 0;
}