#include #define FOR(i,a,b) for(int i = (a); i < (b); ++i) #define REP(i,n) FOR(i,0,n) #define RREP(i,n) for(int i = (n) - 1; (i) >= 0; --i) #define SZ(n) (int)(n).size() #define ALL(n) (n).begin(), (n).end() #define MOD LL(1e9 + 7) #define INF 1000000 using namespace std; typedef long long LL; typedef vector VI; typedef pair PI; int main() { int x[2]; int y[2]; cin >> x[0] >> y[0]; cin >> x[1] >> y[1]; double ans = 0; double r = 0; double l = 1000; REP(i, 100) { if(hypot(x[0], y[0] - l) + hypot(x[1], y[1] - l) > hypot(x[0], y[0] - r) + hypot(x[1], y[1] - r)) l = (r + l) / 2; else r = (r + l) / 2; } ans = (hypot(x[0], y[0] - l) + hypot(x[1], y[1] - l) > hypot(x[0], y[0] - r) + hypot(x[1], y[1] - r) ? r : l); cout << ans << endl; return 0; }