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>).
def process(a, b):
    if b > a:
        return -1
    if a==b:
        return b
    if a >= b:
        if (a+b)//b % 2==0:
            i = (a+b)//b
            a1 = (a+b)/i
        else:
            i = (a+b)//b-1
            a1 = (a+b)/i
            
        if (a-b)//b % 2==0:
            i = (a-b)//b
            a2 = (a-b)/i
        else:
            i = (a-b)//b-1
            a2 = (a-b)/i
        return min(a1, a2)
        
        
a, b = [int(x) for x in input().split()]
print(process(a, b))