#include <algorithm>
#include <iostream>
#include <iomanip>
#include <complex>
#include <cmath>
#define rep(i,a) for(int i=0;i<(a);++i)

using Pt = std::complex<double>;

double x[3], y[3];
double a[3], ma, r;

double sqr( double x )
{ return x*x; }

bool C( double x )
{ return (1-x/r)*ma >= 2*x; }

double cross( const Pt &c1, const Pt &c2 )
{ return std::imag( c1*std::conj(c2) ); }

int main()
{
  rep( i, 3 )
    std::cin >> x[i] >> y[i];

  rep( i, 3 )
  {
    a[i] = sqrt(sqr(x[(i+1)%3]-x[i])+sqr(y[(i+1)%3]-y[i]));
    ma = std::max( ma, a[i] );
  }

  r = fabs(cross( Pt( x[1]-x[0], y[1]-y[0] ), Pt( x[2]-x[0], y[2]-y[0] ) ))/(a[0]+a[1]+a[2]);

  double lb = 0, ub = 1e6;

  rep( i, 1000000 )
  {
    double mid = (lb+ub)/2;

    if( C(mid) )
      lb = mid;
    else
      ub = mid;
  }

  std::cout << std::fixed << std::setprecision(12) << lb << std::endl;

  return 0;
}