#include <bits/stdc++.h>
const double PI = acos(-1);
const double E = 0.01;
double gcd(double A, double B) { return B < E ? A : gcd(B, fmod(A, B)); }
int main() {
  double x1, y1, x2, y2, x3, y3;
  double len[3], angle[3];
  scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3);
  len[0] = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
  len[1] = sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3));
  len[2] = sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1));
  double p = (len[0] + len[1] + len[2]) / 2;
  double S = sqrt(p * (p - len[0]) * (p - len[1]) * (p - len[2]));
  double r = (len[0] * len[1] * len[2]) / (4 * S);
  angle[0] = 2 * asin(len[0] / (2 * r));
  angle[1] = 2 * asin(len[1] / (2 * r));
  angle[2] = 2 * PI - angle[0] - angle[1];
  double ansAngle = angle[0];
  for (int i = 1; i < 3; ++i) {
    ansAngle = gcd(ansAngle, angle[i]);
  }
  printf("%.6lf\n", (r * r * sin(ansAngle) * PI) / ansAngle);
  return 0;
}
