Problem: SmallR is an archer. SmallR is taking a match of archer with Zanoes. They try to shoot in the target in turns, and SmallR shoots first. The probability of shooting the target each time is <image> for SmallR while <image> for Zanoes. The one who shoots in the target first should be the winner.

Output the probability that SmallR will win the match.

Input

A single line contains four integers <image>.

Output

Print a single real number, the probability that SmallR will win the match.

The answer will be considered correct if the absolute or relative error doesn't exceed 10 - 6.

Examples

Input

1 2 1 2


Output

0.666666666667

Solution (in JAVA):

Solution:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.HashMap;
import java.util.ArrayList;
public class SwapWords {
static class pair{
 int f,s;   
 pair(int x,int y){
  f=x;s=y;       
 }    
}
    public static void main(String[] args)throws Exception {
      reader in = new reader(System.in);
      double a=in.nextInt();double b=in.nextInt();
      double c=in.nextInt();double d=in.nextInt();
      double p1=a/b;double p2=(1-p1)*(1-(c/d));
       
      double ans=(p1/(1-p2));
        //System.out.println(ans);
      
     DecimalFormat f = new DecimalFormat(".######");
       System.out.println(f.format(ans));
       
       
      
    }
     static class reader{
      BufferedReader read ;
      StringTokenizer tok;
      public reader(InputStream stream){
          read= new BufferedReader(new InputStreamReader(stream));
          tok=null;
          
      }
       String next()throws Exception{
          
          while(tok==null||!tok.hasMoreElements()){
              tok= new StringTokenizer(read.readLine());
              
          }
          return tok.nextToken();     
      }
       
       int nextInt()throws Exception{
           return Integer.parseInt(next());
           
       }     
    }
}