#include <stdio.h>
#include <string>
#include <cstring>
#include <stdlib.h>
#include <math.h>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <list>
#include <iterator>
#include <assert.h>
#pragma warning(disable:4996) 
 
typedef long long ll;
#define MIN(a, b) ((a)>(b)? (b): (a))
#define MAX(a, b) ((a)<(b)? (b): (a))
#define LINF 9223300000000000000
#define INF 2140000000
const long long MOD = 1000000007;
using namespace std;


int main(int argc, char* argv[])
{
    int x1,y1,x2,y2,x3,y3;
    scanf("%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x3, &y3);

    double a[3];
    a[0]=sqrt((double)(x1-x2)*(x1-x2)+(double)(y1-y2)*(y1-y2));
    a[1]=sqrt((double)(x1-x3)*(x1-x3)+(double)(y1-y3)*(y1-y3));
    a[2]=sqrt((double)(x3-x2)*(x3-x2)+(double)(y3-y2)*(y3-y2));
    sort(a+0, a+3);

    double cos0=(a[1]*a[1]+a[2]*a[2]-a[0]*a[0])/(2*a[1]*a[2]);
    double tan0=(1-cos0)/(1+cos0);
    tan0=sqrt(tan0);

    double cos1=(a[0]*a[0]+a[2]*a[2]-a[1]*a[1])/(2*a[0]*a[2]);
    double tan1=(1-cos1)/(1+cos1);
    tan1=sqrt(tan1);

    double r = a[2]/(2+(1/tan0)+(1/tan1));
    printf("%.10lf\n", r);

    return 0;
}
