#include <bits/stdc++.h>
double x[4], y[4], d[3], hc, ar, R, t[3], n;
inline double dist(double x, double y) { return sqrt(x * x + y * y); }
double gcd(double a, double b) {
  if (fabs(a) < 1e-3) return b;
  if (fabs(b) < 1e-3) return a;
  return gcd(b, fmod(a, b));
}
int main() {
  for (int i = 0; i < 3; ++i) scanf("%lf%lf", x + i, y + i);
  x[3] = x[0];
  y[3] = y[0];
  for (int i = 0; i < 3; ++i) d[i] = dist(x[i + 1] - x[i], y[i + 1] - y[i]);
  hc = (d[0] + d[1] + d[2]) * 0.5;
  ar = sqrt(hc * (hc - d[0]) * (hc - d[1]) * (hc - d[2]));
  R = d[0] * d[1] * d[2] / (4.0 * ar);
  for (int i = 0; i < 2; ++i) t[i] = 2.0 * asin(d[i] / (2.0 * R));
  t[2] = 2.0 * M_PI - t[0] - t[1];
  n = gcd(t[0], gcd(t[1], t[2]));
  printf("%.6lf", M_PI * R * R * sin(n) / n);
  return 0;
}
