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*.
store1=input("").split(' ')
a=int(store1[0])
b=int(store1[1])
store2=input("").split(' ')
c=int(store2[0])
d=int(store2[1])
lo=0
hi=10**18
while (hi-lo>10**-15):
    mid=(hi+lo)/2
    mini=10**18
    maxi=-10**18
    for t in range ((1<<4)):
        store=[a, b, d, c]
        for k in range(4):
            if (((1<<k)&t)!=0):
                store[k]+=mid
            else:
                store[k]-=mid
        x=store[0]*store[2]-store[1]*store[3]
        if (x>=maxi):
            maxi=x
        if (x<=mini):
            mini=x
    if (mini<=maxi and maxi>=0 and mini<=0):
        hi=mid
    else:
        lo=mid
print(lo)
