#include using namespace std; using ll = long long; void process() { ll ax, ay, bx, by, cx, cy; cin >> ax >> ay >> bx >> by >> cx >> cy; double sabx, saby, sacx, sacy, sbcx, sbcy; sabx = ((double) ax + (double) bx) / 2; saby = ((double) ay + (double) by) / 2; sacx = ((double) ax + (double) cx) / 2; sacy = ((double) ay + (double) cy) / 2; sbcx = ((double) bx + (double) cx) / 2; sbcy = ((double) by + (double) cy) / 2; double cDist = sqrt( pow((sabx - (double) cx), 2) + pow((saby - (double) cy), 2) ); double cCost = cDist - sqrt( pow((double) ax - sabx, 2) + pow((double) ay - saby, 2) ); cCost = abs(cCost); double bDist = sqrt( pow((sacx - (double) bx), 2) + pow((sacy - (double) by), 2) ); double bCost = bDist - sqrt( pow((double) ax - sacx, 2) + pow((double) ay - sacy, 2) ); bCost = abs(bCost); double aDist = sqrt( pow((sbcx - (double) ax), 2) + pow((sbcy - (double) ay), 2) ); double aCost = aDist - sqrt( pow((double) bx - sbcx, 2) + pow((double) by - sbcy, 2) ); aCost = abs(aCost); cout << min({ cCost, bCost, aCost }) << "\n"; } int main() { std::ios::sync_with_stdio(false); process(); cout.flush(); return 0; }