#include<iostream>
#include<iomanip>
#include<utility>
#include<cmath>
#include<algorithm>

std::pair<double, double> eigenAB(std::pair<int, int> A, std::pair<int, int> B){
  std::pair<double, double> eAB;
  eAB = std::make_pair(B.first-A.first, B.second-A.second);
  double t1 = eAB.first / std::sqrt(eAB.first*eAB.first + eAB.second*eAB.second);
  double t2 = eAB.second / std::sqrt(eAB.first*eAB.first + eAB.second*eAB.second);
  eAB.first = t1, eAB.second = t2;
  return eAB;
}
std::pair<double, double> angleA(std::pair<double, double> AB, 
                                 std::pair<double, double> AC){
  std::pair<double, double> aA;
  aA = std::make_pair(AB.first+AC.first, AB.second+AC.second);
  double t1 = aA.first / std::sqrt(aA.first*aA.first + aA.second*aA.second);
  double t2 = aA.second / std::sqrt(aA.first*aA.first + aA.second*aA.second);
  aA.first = t1, aA.second = t2;
  return aA;
}
double getR(std::pair<double, double> aA, std::pair<double, double> eAB){
  double iP = aA.first*eAB.first + aA.second*eAB.second;
  double R = std::sqrt(aA.first*aA.first+aA.second*aA.second - iP*iP);
  return R;
}
double getMaxR(double R1, double R2, 
               std::pair<int, int> xy1, std::pair<int, int> xy2,
               std::pair<double, double> e12, std::pair<double, double> e21,
               std::pair<double, double> a1, std::pair<double, double> a2){
  a2.first *= R1/R2, a2.second *= R1/R2;
  double iP1 = a1.first*e12.first + a1.second*e12.second;
  double iP2 = a2.first*e21.first + a2.second*e21.second;
  double len12 = std::sqrt((xy1.first-xy2.first)*(xy1.first-xy2.first) + 
                           (xy1.second-xy2.second)*(xy1.second-xy2.second));
  double t = len12 / (iP1+iP2+2*R1);
  return t*R1;
}

int main(){
  std::pair<int, int> xy1, xy2, xy3;
  for(int i = 0; i < 3; i++){
    int t1, t2;
    std::cin >> t1 >> t2;
    if(i==0) xy1 = std::make_pair(t1,t2);
    else if(i==1) xy2 = std::make_pair(t1,t2);
    else xy3 = std::make_pair(t1,t2);
  }
  std::pair<double, double> e12, e13, e21, e23, e31, e32;
  e12 = eigenAB(xy1, xy2), e13 = eigenAB(xy1, xy3);
  e21 = eigenAB(xy2, xy1), e23 = eigenAB(xy2, xy3);
  e31 = eigenAB(xy3, xy1), e32 = eigenAB(xy3, xy2);
//  std::cout << e12.first << " " << e12.second << std::endl;
//  std::cout << e13.first << " " << e13.second << std::endl;
//  std::cout << e21.first << " " << e21.second << std::endl;
//  std::cout << e23.first << " " << e23.second << std::endl;
//  std::cout << e31.first << " " << e31.second << std::endl;
//  std::cout << e32.first << " " << e32.second << std::endl<<std::endl;
  
  std::pair<double, double> a1, a2, a3;
  a1 = angleA(e12, e13), a2 = angleA(e21, e23), a3 = angleA(e31, e32);
//  std::cout << a1.first << " " << a1.second << std::endl;
//  std::cout << a2.first << " " << a2.second << std::endl;
//  std::cout << a3.first << " " << a3.second << std::endl;  
  double R1, R2, R3;
  R1 = getR(a1, e12), R2 = getR(a2, e23), R3 = getR(a3, e31);
//  std::cout << R1 << " " << R2 << " " << R3 << std::endl;
  double R12, R23, R31;
  R12 = getMaxR(R1, R2, xy1, xy2, e12, e21, a1, a2);
  R23 = getMaxR(R2, R3, xy2, xy3, e23, e32, a2, a3);
  R31 = getMaxR(R3, R1, xy3, xy1, e31, e13, a3, a1);
  std::cout << std::fixed;
  std::cout << std::setprecision(20) << std::max(std::max(R12, R23), R31) << std::endl;
}

Measured memory_bytes: 256