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>).
x,y=[int(e) for e in input().split()]
if x<y:
    print(-1)
else:
    x0=x/y
    L=1
    R=(x0+1)//2
    while R>L+1:
        M=(L+R)//2
        if (x0+1)/(2*M)>=1:
            L=M
        else:
            R=M
    n=L
    if (x0+1)/(2*R)>=1:
        n=R
    print(y*(x0+1)/(2*n))