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>).
vals=list(map(int,input().split()))
x=vals[0]
y=vals[1]

if x-y>=0:
    a=(x-y)/2
    if x-y==0:
        print(x)
    elif 2*a<=x<=3*a and 0<=y<=a:
        print(a)
    elif x+y>0:
        a=(x+y)
        a1=a/4
        if a/2<=x<=a and 0<=y<=a/2:
            print(a/2)
        elif 3*a1<=x<=4*a1 and 0<=y<=a1:
            print(a1)
        else:
            print("-1")
    else:
        print("-1")
elif x+y>=0:
    a=(x+y)
    a1=a/4
    if a/2<=x<=a and 0<=y<=a/2:
        print(a/2)
    elif 3*a1<=x<=4*a1 and 0<=y<=a1:
        print(a1)
    else:
        print("-1")
        
        
        