#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long MOD = 1000000007; int main() { double X[12] = { 100, 10, 1, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, 0.00000001, 0.000000001 }; double xa,ya,xb,yb; cin >> xa >> ya >> xb >> yb; double ans = 0; for ( int i = 0; i < 12; i++ ) { double dist; double y; dist = 1000000; for ( int j = 0; j < 10; j++ ) { double y1 = ans + X[i]*j; double y2 = ans - X[i]*j; double dist1 = sqrt( xa*xa + (ya-y1)*(ya-y1) ) + sqrt( xb*xb + (yb-y1)*(yb-y1) ); double dist2 = sqrt( xa*xa + (ya-y2)*(ya-y2) ) + sqrt( xb*xb + (yb-y2)*(yb-y2) ); if ( dist > dist1 ) { dist = dist1; y = y1; } if ( dist > dist2 ) { dist = dist2; y = y2; } } ans = y; } printf( "%.9f", ans ); return 0; }