#include <bits/stdc++.h>
using namespace std;
bool Equal(double a, double b) {
  if (fabs(a - b) < 1e-2) return true;
  return false;
}
double dis(double x1, double y1, double x2, double y2) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
double fgcd(double x1, double x2) {
  if (Equal(x1, 0)) return x2;
  if (Equal(x2, 0)) return x1;
  return fgcd(x2, fmod(x1, x2));
}
int main(void) {
  double p1[3], p2[3], l[3];
  for (int i = 0; i < 3; i++) scanf("%lf %lf", &p1[i], &p2[i]);
  for (int i = 0; i < 3; i++)
    l[i] = dis(p1[i], p2[i], p1[(i + 1) % 3], p2[(i + 1) % 3]);
  double av = (l[0] + l[1] + l[2]) / 2;
  double S = sqrt(av * (av - l[0]) * (av - l[1]) * (av - l[2]));
  double R = l[0] * l[1] * l[2] / (4 * S);
  double ang[3];
  for (int i = 0; i < 3; i++) ang[i] = acos(1 - (l[i] * l[i]) / (2 * R * R));
  ang[2] = 2 * 3.1415926535 - ang[0] - ang[1];
  double res = 0;
  for (int i = 0; i < 3; i++) res = fgcd(res, ang[i]);
  printf("%.8lf\n", (3.1415926535 * R * R * sin(res)) / res);
  return 0;
}
