#include <bits/stdc++.h>
using namespace std;
long double PI = 3.14159265359;
long double eps = 1e-5;
long double getArea(long double x1, long double y1, long double x2,
                    long double y2, long double x3, long double y3) {
  long double ret = 0.0;
  ret += x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2);
  ret = fabs(ret);
  ret /= 2.0;
  return ret;
}
long double getDist(long double x1, long double y1, long double x2,
                    long double y2) {
  long double ret = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
  return sqrt(ret);
}
bool EQ(long double a, long double b) {
  if (fabs(a - b) < eps) return true;
  return false;
}
int main() {
  long double x1, y1, x2, y2, x3, y3;
  cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
  long double dis1 = 1.0 * getDist(x1, y1, x2, y2);
  long double dis2 = 1.0 * getDist(x3, y3, x2, y2);
  long double dis3 = 1.0 * getDist(x1, y1, x3, y3);
  long double area = 1.0 * getArea(x1, y1, x2, y2, x3, y3);
  long double rad = 1.0 * dis1 * dis2 * dis3 / 4.0;
  rad /= 1.0 * area;
  long double ang1 = 1.0 * acos(1.0 - (dis1 * dis1) / (2.0 * rad * rad));
  long double ang2 = 1.0 * acos(1.0 - (dis2 * dis2) / (2.0 * rad * rad));
  long double ang3 = 1.0 * acos(1.0 - (dis3 * dis3) / (2.0 * rad * rad));
  for (int i = 3; i <= 100; i++) {
    bool f = true;
    long double ang = 2.0 * PI / i;
    long double temp1 = 1.0 * ang1 / ang;
    long double temp2 = 1.0 * ang2 / ang;
    long double temp3 = 1.0 * ang3 / ang;
    int fl = floor(1.0 * temp1);
    int cl = ceil(1.0 * temp1);
    if (!(EQ(1.0 * temp1, 1.0 * fl) or EQ(1.0 * temp1, 1.0 * cl))) f = false;
    fl = floor(1.0 * temp2);
    cl = ceil(1.0 * temp2);
    if (!(EQ(1.0 * temp2, 1.0 * fl) or EQ(1.0 * temp2, 1.0 * cl))) f = false;
    fl = floor(1.0 * temp3);
    cl = ceil(1.0 * temp3);
    if (!(EQ(1.0 * temp3, 1.0 * fl) or EQ(1.0 * temp3, 1.0 * cl))) f = false;
    if (f) {
      long double ans = i;
      ans /= 2.0;
      ans *= 1.0 * rad * rad;
      ans *= 1.0 * sin(2.0 * PI / i);
      cout << fixed << setprecision(6) << ans << endl;
      return 0;
    }
  }
  return 0;
}
