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.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Scanner;

public class Main implements Runnable {

    StreamTokenizer ST;
    PrintWriter out;
    BufferedReader br;
    Scanner in;

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

    @Override
    public void run() {
        try {
            out = new PrintWriter(new BufferedOutputStream(System.out));
            in = new Scanner(System.in);
            solve();
            out.close();
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
    }

    public void solve() throws IOException {
        int a = in.nextInt();
        int b = in.nextInt();
        int c = in.nextInt();
        int d = in.nextInt();
        double ret = (double) a / (double) b;
        double prev = 0.0d;
        double x = (double) a / (double) b;
        double y = (double) c / (double) d;
        double temp = (1.0 - x) * (1.0 - y);
        int count = 1;
        while (Math.abs(prev - ret) > 1e-10 ) {
            double z = 1.0;
            for (int i = 0; i < count; ++i) {
                z *= temp;
            }
            ++count;
            prev = ret;
            ret += z * x;
        }
        out.println(ret);
    }
}