#include <bits/stdc++.h>
using namespace std;
bool cmp(double a, double b) { return a < b; }
const double pi = acos(-1);
inline double sqr(double x) { return x * x; }
const double eps = 1e-3;
struct point {
  double x, y;
  point() {}
  point(double a, double b) : x(a), y(b) {}
  void input() { scanf("%lf%lf", &x, &y); }
  friend point operator+(const point &a, const point &b) {
    return point(a.x + b.x, a.y + b.y);
  }
  friend point operator-(const point &a, const point &b) {
    return point(a.x - b.x, a.y - b.y);
  }
  friend point operator*(const point &a, const double &b) {
    return point(a.x * b, a.y * b);
  }
  friend point operator*(const double &a, const point &b) {
    return point(a * b.x, a * b.y);
  }
  friend point operator/(const point &a, const double &b) {
    return point(a.x / b, a.y / b);
  }
  double norm() { return sqrt(sqr(x) + sqr(y)); }
};
point a, b, c;
point abm, bcm, acm;
double ang[4];
double dang[4];
int main() {
  a.input();
  b.input();
  c.input();
  abm = (a + b) / 2.0;
  acm = (a + c) / 2.0;
  bcm = (b + c) / 2.0;
  double x1 = b.x - a.x, x2 = c.x - b.x, y1 = b.y - a.y, y2 = c.y - b.y;
  double ans1 = x1 * abm.x + y1 * abm.y, ans2 = x2 * bcm.x + y2 * bcm.y;
  double cst = x2 / x1;
  x2 -= cst * x1;
  y2 -= cst * y1, ans2 -= cst * ans1;
  double y = ans2 / y2;
  double x = (ans1 - y * y1) / x1;
  point mid = point(x, y);
  a = a - mid, b = b - mid, c = c - mid;
  double r = sqrt(a.x * a.x + a.y * a.y);
  ang[1] = atan2(a.y, a.x) + pi;
  ang[2] = atan2(b.y, b.x) + pi;
  ang[3] = atan2(c.y, c.x) + pi;
  sort(ang + 1, ang + 4, cmp);
  dang[1] = ang[2] - ang[1];
  dang[2] = ang[3] - ang[2];
  dang[3] = 2 * pi - ang[3] + ang[1];
  sort(dang + 1, dang + 4, cmp);
  dang[2] /= dang[1], dang[3] /= dang[1], dang[1] = 1;
  double c1 = dang[1], c2 = dang[2], c3 = dang[3];
  double sum = c1 + c2 + c3;
  int cnt = 0;
  while (cnt < 100) {
    if (abs(c1 - (double)((int)(c1 + 0.5))) < eps &&
        abs(c2 - (double)((int)(c2 + 0.5))) < eps &&
        abs(c3 - (double)((int)(c3 + 0.5))) < eps)
      break;
    c1 += dang[1], c2 += dang[2], c3 += dang[3];
    cnt++;
  }
  if (cnt < 100) {
    int num = (int)((cnt + 1) * sum + 0.5);
    printf("%.10lf", num * sin(2 * pi / num) * r * r / 2.0);
  } else
    printf("%.10lf", pi * r * r);
}
