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

//Codeforces
public class MainCodeforces1 {
	private static MyScanner in;
	private static PrintStream out;
	private static boolean LOCAL_TEST = false;

	private static void solve() throws IOException
	{
		double a = in.nextInt();
		double b = in.nextInt();
		double c = in.nextInt();
		double d = in.nextInt();
		double probWin;
		double probZanoesLose = (d - c) / d;
		double totProbWin = 0;
		double probContinue = 1;
		while (true) {
			probWin = a / b * probContinue;
			double probLose = (1.0 - a / b) * probContinue;
			totProbWin += probWin;
			probContinue = (probLose * probZanoesLose);
			// out.println(probWin);
			if (probWin < 1e-10)
				break;
		}
		out.println((double) totProbWin);
	}

	public static void main(String[] args) throws IOException {
		// helpers for input/output
		out = System.out;
		try {
			String cname = System.getenv("COMPUTERNAME");
			LOCAL_TEST = (cname.equals("ALPHA530"));
		} catch (Exception e) {
		}
		if (LOCAL_TEST) {
			in = new MyScanner("E:\\zin.txt");
		}
		else {
			boolean usingFileForIO = false;
			if (usingFileForIO) {
				// using input.txt and output.txt as I/O
				in = new MyScanner("input.txt");
				out = new PrintStream("output.txt");
			}
			else {
				in = new MyScanner();
				out = System.out;
			}
		}

		solve();
	}

	// =====================================
	static class MyScanner {
		Scanner inp = null;

		public MyScanner() throws IOException
		{
			inp = new Scanner(System.in);
		}

		public MyScanner(String inputFile) throws IOException {
			inp = new Scanner(new FileInputStream(inputFile));
		}

		public int nextInt() throws IOException {
			return inp.nextInt();
		}

		public long nextLong() throws IOException {
			return inp.nextLong();
		}

		public double nextDouble() throws IOException {
			return inp.nextDouble();
		}

		public String nextString() throws IOException {
			return inp.next();
		}

		public String nextLine() throws IOException {
			return inp.nextLine();
		}

	}

}