#include #include #define ll long long using namespace std; struct Vec { long double x, y; void load(){ cin >> x; cin >> y; } Vec operator+(Vec rhs){ return Vec{x + rhs.x, y + rhs.y}; } Vec operator-(Vec rhs){ return Vec{x - rhs.x, y - rhs.y}; } Vec operator*(long double rhs){ return Vec{x *rhs, y *rhs}; } long double len(){ return sqrt(x * x + y*y); } void print(){ cout << x << " " << y << endl; } }; long double distpow2_from(Vec &a, Vec &b, Vec &point){ auto center = (b - a)*0.5 + a; auto out = center - point; return abs(out.len() - ((b - a)*0.5).len()); } void solve(){ Vec a, b, c; a.load(); b.load(); c.load(); long double out = distpow2_from(a,b,c); long double out2 = distpow2_from(c,a,b); long double out3 = distpow2_from(b,c,a); if(out > out2){ out = out2; } if(out > out3){ out = out3; } cout << out << endl; } int main() { solve(); return 0; }