#include <bits/stdc++.h>
const double eps = 1e-4;
const double pi = acos(-1.0);
double gcd(double x, double y) {
  while (fabs(x) > eps && fabs(y) > eps) {
    if (x > y)
      x -= floor(x / y) * y;
    else
      y -= floor(y / x) * x;
  }
  return x + y;
}
double len(const std::pair<double, double> a,
           const std::pair<double, double> b) {
  return sqrt((a.first - b.first) * (a.first - b.first) +
              (a.second - b.second) * (a.second - b.second));
}
double angle(double a, double b, double c) {
  return acos((b * b + c * c - a * a) / (2 * b * c));
}
int main() {
  double x, y;
  std::vector<std::pair<double, double> > points;
  for (int i = 0; i < 3; ++i) {
    scanf("%lf%lf", &x, &y);
    points.push_back(std::make_pair(x, y));
  }
  double a, b, c;
  a = len(points[0], points[1]);
  b = len(points[1], points[2]);
  c = len(points[2], points[0]);
  double P, R, S;
  P = (a + b + c) / 2;
  S = sqrt(P * (P - a) * (P - b) * (P - c));
  R = a * b * c / (4 * S);
  double A, B, C;
  A = angle(a, b, c);
  B = angle(b, c, a);
  C = angle(c, a, b);
  double n = pi / gcd(A, gcd(B, C));
  printf("%.9lf\n", n / 2 * R * R * sin(2 * pi / n));
  return 0;
}
