#include <string>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <iostream>
#include <sstream>
#include <cstring>
#include <numeric>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define F0(i,n) for (int i = 0; i < n; i++)
#define F1(i,n) for (int i = 1; i <= n; i++)
#define CL(a,x) memset(x, a, sizeof(x));
#define SZ(x) ((int)x.size())
const double eps = 1e-10;
const int MOD = 1000000007;
int i, j, k, m, n, l;
ll ans;

double solve(double a, double b, double c) {
	double alpa = acos((b*b + c*c - a*a) / (2 * b*c));
	double beta = acos((a*a + c*c - b*b) / (2 * a*c));
	return c / (2 + 1 / tan(alpa / 2) + 1 / tan(beta / 2));
}

int main() {
	//freopen("x.in", "r", stdin);

	double x1, y1, x2, y2, x3, y3;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;

	double a = hypot(x1 - x2, y1 - y2), b = hypot(x1 - x3, y1 - y3), c = hypot(x2 - x3, y2 - y3);

	double r1 = solve(a, b, c);
	double r2 = solve(b, c, a);
	double r3 = solve(c, a, b);

	double r = max(r1, r2);
	r = max(r, r3);
	printf("%.10lf\n", r);

	return 0;
}
