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>).
str_0=input()
list_0=str_0.split(' ')
a=int(list_0[0])
b=int(list_0[1])






if a<b:
    print(-1)
elif a==b:
    print('%.12f'% a)
else:
    n_1=((a+b)/2)//b
    t_1=(a+b)/(2*n_1)
    n_2=((a-b)/2)//b
    t_2=(a-b)/(2*n_2)
    if t_1<=t_2:
        t=t_1
    else:
        t=t_2
    print('%.12f'% t)
