There is a polyline going through points (0, 0) – (*x*, *x*) – (2*x*, 0) – (3*x*, *x*) – (4*x*, 0) – ... - (2*kx*, 0) – (2*kx* + *x*, *x*) – .... 

We know that the polyline passes through the point (*a*, *b*). Find minimum positive value *x* such that it is true or determine that there is no such *x*.
Only one line containing two positive integers *a* and *b* (1 ≤ *a*, *b* ≤ 10<sup class="upper-index">9</sup>).
a, b = (int(x) for x in input().split())
if b > a:
    print(-1)
elif a == b:
    print(a)
else:
    a = (a + b) / 2
    lo = 1
    hi = 1000000000
    eps = 1 / hi
    while lo <= hi:
        mid = (lo + hi) // 2
        if a / mid > b + eps:
            lo = mid + 1
        else:
            hi = mid - 1
    print(a / mid)
        
