#include <bits/stdc++.h>
using namespace std;
double dist(double x, double y, double xx, double yy) {
  x -= xx;
  y -= yy;
  return sqrt(x * x + y * y);
}
double geta(double d1, double d2, double d3) {
  return acos((d2 * d2 + d3 * d3 - d1 * d1) / (2.0 * d2 * d3));
}
double ab(double x) { return x >= 0 ? x : -x; }
int ch(double a, double phi) {
  return ab(a / phi - (int)(a / phi + 0.5)) < 1e-5;
}
int main() {
  double x1, y1, x2, y2, x3, y3;
  cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
  double d1 = dist(x1, y1, x2, y2);
  double d2 = dist(x1, y1, x3, y3);
  double d3 = dist(x2, y2, x3, y3);
  double a1 = geta(d1, d2, d3);
  double a2 = geta(d1, d3, d2);
  double a3 = geta(d2, d3, d1);
  double pi = 2.0 * acos(0.0);
  int n;
  for (n = 3; n <= 100; n++) {
    double phi = pi / n;
    if (ch(a1, phi) && ch(a2, phi) && ch(a3, phi)) {
      break;
    }
  }
  double p = (d1 + d2 + d3) / 2.0;
  double s = sqrt(p * (p - d1) * (p - d2) * (p - d3));
  double r = (d1 * d2 * d3) / (4.0 * s);
  double res = n * 0.5 * r * r * sin(2 * pi / n);
  printf("%.10lf\n", res);
  return 0;
}
