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 solve(a, b):

    if b > a:
        return -1

    if b == a:
        return a

    u = (a + b) / 2
    v = (a - b) / 2
    x = (a + b) / (2 * b)
    y = (a - b) / (2 * b)
    u = u / x
    v = v / y

    return min(u, v)


if __name__ == '__main__':
    a, b = map(int, input().split())
    
    result = solve(a, b)
    
    print(result)