Problem: There is a polyline going through points (0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + 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.

Input

Only one line containing two positive integers a and b (1 ≤ a, b ≤ 109).

Output

Output the only line containing the answer. Your answer will be considered correct if its relative or absolute error doesn't exceed 10 - 9. If there is no such x then output  - 1 as the answer.

Examples

Input

3 1


Output

1.000000000000


Input

1 3


Output

-1


Input

4 1


Output

1.250000000000

Note

You can see following graphs for sample 1 and sample 3. 

<image> <image>

Solution (in JAVA):

Solution:
import java.util.Scanner;

/**
 *
 * @author Zhasan
 */
public class A578 {

    public static void main(String arsg[]) throws Exception {
        Scanner in = new Scanner(System.in);

        double a = (double) in.nextInt();
        double b = (double) in.nextInt();

        double ans = -1;
        if (b > a) {
            System.out.println(-1);
        } else {
                double delta = a-b;
                double sum = a+b;
                
                int k1 = (int)(sum/(2*b));
                
                
                double x1 = Double.MAX_VALUE;
                
                if(k1>=1){
                    if(sum/(2*b)<2){
                        k1 = 1;
                    } else {
                        k1 = k1;
                    }
                    
                    x1 = sum/(2*(k1));
                }
                
                double x2 = Double.MAX_VALUE;
                
                
                    int k2  = (int)(delta/(2*b));
                if(k2>=1){
                    if(delta/(2*b)<2){
                        k2 = 1;
                    } else {
                        k2 = k2;
                    }
                    
                    x2 = delta/(2*(k2));
                }
                
              //  System.out.println(x1+" "+x2);
                
             System.out.printf("%.12f",Math.min(x1, x2));
        }
        
       
    }

}