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.InputStreamReader;
import java.io.PrintWriter;
import java.util.Locale;
import java.util.StringTokenizer;

public class TaskB implements Runnable {
    private BufferedReader reader;
    private PrintWriter writer;
    private StringTokenizer tokenizer;

    public static void main(String[] args) {
        new Thread(new TaskB()).start();
    }

    public void run() {
        try {
            Locale.setDefault(Locale.US);

            reader = new BufferedReader(new InputStreamReader(System.in));
            writer = new PrintWriter(System.out);

            solve();

            reader.close();
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(9875);
        }
    }

    private String next() throws Exception {
        while (tokenizer == null || !tokenizer.hasMoreTokens()) {
            tokenizer = new StringTokenizer(reader.readLine());
        }
        return tokenizer.nextToken();
    }

    private int nextInt() throws Exception {
        return Integer.parseInt(next());
    }

    private void solve() throws Exception {
        double p1 = (double) nextInt() / (double) nextInt();
        double p2 = (double) nextInt() / (double) nextInt();

        double result = 0.0;
        double p = 1.0;
        double mul = (1.0 - p1) * (1.0 - p2);

        for (int i = 0; i < 1000000; i++) {
            result += p * p1;
            p *= mul;
        }

        writer.printf("%.12f", result);
        writer.println();
    }
}