#include using namespace std; #define rep(i,a,b) for(int i =a; i <(b); ++i) double dst = 1e9; struct P { double x, y; explicit P(double x = 0, double y = 0) : x(x), y(y) {} double cross(P p) {return x * p.y - y*p.x;} P operator-(P p) const {return P(x - p.x, y - p.y);} P operator+(P p) const {return P(x + p.x, y + p.y);} P operator/(double d) const {return P(x/d, y/d);} P perp() const { return P(-y, x); } double len() { return hypot(x, y); }; }; double dist(P a, P b, P c) { // thalet P side = b - a; double len = side.len(); P y = c - ((b + a) / 2); double res = abs(y.len() - (len / 2)); // perp P perp = side.perp(); res = min(res, abs(perp.cross(c - a)/len)); res = min(res, abs(perp.cross(c - b)/len)); return res; } int main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); vector

p; rep(i, 0, 3) { double x, y; cin >> x >> y; p.push_back(P(x, y)); }; P A = p[0], B = p[1], C = p[2]; double res = min({dist(A,B,C), dist(A, C, B), dist(C, B, A)}); cout << setprecision(9) << res << endl; }