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,k=map(int,input().split())
if k>n:
    print(-1)
elif k==n:
    print(k)
else:
    #A
    diff=n-k
    diff/=2
    mod=int(diff/k)
    if mod==0:
        A=-1
    else:
        A=diff/mod
    #B
    summ=n+k
    summ/=2
    mod=int(summ/k)
    if mod==0:
        B-1
    else:
        B=summ/mod
    if A==-1:
        print(B)
    elif B==-1:
        print(A)
    else:
        print(min(A,B))