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>).
n,b=map(float,input().split())
def t(x):
    e=n-2*int(n/(2*x))*x
    v=abs(x-e)
    v1=x-v
    return b-v1
if b>=n :
    print(-1)
    exit()
f=(n+b)/2
if b==1 :
    print(f/2)
else :
    print(f)
