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 solv(a,b):
    k1 = (b+a)//(b+b)
    k2 = (b-a)//(b+b)
    x1 = (b+a)/(k1+k1) if k1>0 else None
    x2 = (b-a)/(k2+k2) if k2>0 else None
    if x1 and x2: return min(x1,x2)
    if x1: return x1
    return -1

a,b=map(int,input().split())
print(solv(a,b))
