The determinant of a matrix 2 × 2 is defined as follows:

A matrix is called degenerate if its determinant is equal to zero. 

The norm ||*A*|| of a matrix *A* is defined as a maximum of absolute values of its elements.

You are given a matrix <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/e78540a0de68f85833f82714a7141114b781276e.png" style="max-width: 100.0%;max-height: 100.0%;"/>. Consider any degenerate matrix *B* such that norm ||*A* - *B*|| is minimum possible. Determine ||*A* - *B*||.
The first line contains two integers *a* and *b* (|*a*|, |*b*| ≤ 10<sup class="upper-index">9</sup>), the elements of the first row of matrix *A*. 

The second line contains two integers *c* and *d* (|*c*|, |*d*| ≤ 10<sup class="upper-index">9</sup>) the elements of the second row of matrix *A*.
a,b=map(int,input().strip().split())
c,d=map(int,input().strip().split())
l=float(0)
r=float(1e9)
ans=float(0)
while (r-l>=1e-12):
    mid=(l+r)/2
    f=0
    x=mid
    amin=a-x
    amax=a+x
    bmin=b-x
    bmax=b+x
    cmin=c-x
    cmax=c+x
    dmin=d-x
    dmax=d+x
    lmin=min({amin*dmax,amax*dmin,amax*dmax,amin*dmin})
    if((amin*amax<0) or (dmin*dmax<0)):
        lmin=min(lmin,0)
    lmax=max({amin*dmax,amax*dmax,amax*dmax,amin*dmin})
    if((amin*amax<0) or (dmin*dmax<0)):
        lmax=max(lmax,0)
    rmin=min({bmin*cmax,bmax*cmax,bmax*cmax,bmin*cmin})
    if((bmin*bmax<0) or (cmin*cmax<0)):
        rmin=min(rmin,0)
    rmax=max({bmin*cmax,bmax*cmax,bmax*cmax,bmin*cmin})
    if((bmin*bmax<0) or (cmin*cmax<0)):
        rmax=max(rmax,0)
    if(lmin>rmax or lmax<rmin):
        f=0
    else:
        f=1
    if(f):
        ans=mid
        r=mid
    else:
        l=mid
print (ans)
