#include <bits/stdc++.h>
using namespace std;
double gcd(double a, double b) {
  if (a < b) return gcd(b, a);
  if (fabs(b) < 1e-4) return a;
  return gcd(b, a - floor(a / b) * b);
}
int main() {
  double x1, x2, x3, y1, y2, y3, a, b, c, s, r, A, B, C, n, area;
  cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
  a = sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3));
  b = sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1));
  c = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
  s = fabs(x1 * y2 + x2 * y3 + x3 * y1 - x2 * y1 - x3 * y2 - x1 * y3) / 2;
  r = (a * b * c) / (4 * s);
  A = acos((b * b + c * c - a * a) / (2 * b * c));
  B = acos((c * c + a * a - b * b) / (2 * c * a));
  C = acos((a * a + b * b - c * c) / (2 * a * b));
  n = 2 * acos(0) / gcd(gcd(A, B), C);
  area = (n / 2) * r * r * sin(4 * acos(0) / n);
  cout << fixed << setprecision(12) << area;
  return 0;
}
