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.util.*;


import java.io.*;
public class khara {
	public static void main(String[] args)throws IOException {
		PrintWriter out=new PrintWriter(System.out);
		Scanner sc=new Scanner(System.in);
		double a =sc.nextInt();
		double b=sc.nextInt();
		double c=sc.nextInt();
		double d=sc.nextInt();
		double value=0;
		for (int i=0;i<100000;i++) {
			value+=Math.pow(1-(a/b), i)*Math.pow(1-(c/d), i)*(a/b);
		}
		out.println(value);



		out.flush();

	}	

	static class Scanner{
		StringTokenizer st;
		BufferedReader br;
		public Scanner(InputStream system) { br = new BufferedReader(new InputStreamReader(system));}
		public Scanner(String file) throws Exception{br = new BufferedReader(new FileReader (file));}
		public String next() throws IOException{
			while (st==null|| !st.hasMoreTokens()) st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}
		public int nextInt() throws IOException{
			return Integer.parseInt(next());
		}
		public long nextLong() throws IOException{
			return Long.parseLong(next());
		}
		public String nextLine() throws IOException{
			return br.readLine();
		}
		public Double nextDouble() throws IOException{
			return Double.parseDouble(next());
		}
	}
}