#include <iostream>

#include <vector>
#include <string>

#include <algorithm>
#include<cmath>

using namespace std;

int main(void){
  vector<double> start(2);
  vector<double> goal(2);
  double ans;
  cin >> start[0];
  cin >> start[1];
  cin >> goal[0];
  cin >> goal[1];
  ans = start[0] + (goal[0] - start[0])*start[1]/(start[1]+ goal[1]);
  
  printf("%.17lf",ans);
  return 0;
}
#include <bits/stdc++.h>
#define REP(i, n) for (int i = 0; i < (int)(n); i++)
#define RREP(i, n) for (int i = (int)(n) - 1 ; i >= 0; i--)
#define FOR(i, a, b) for (int i = (a); i < (int)(b); i++)
#define ALL(v) (v).begin(), (v).end()
#define pb push_back
using namespace std;
using ll = long long;
const ll MOD = 1000000007LL;
//const ll MOD = 998244353LL;
int pmod(int x){int y=x%(int)MOD;return (y>=0)?y:y+(int)MOD;}
ll pmod(ll x){ll y=x%MOD;return (y>=0LL)?y:y+MOD;}

int main(){
    double sx, sy, gx, gy;
    cin>>sx>>sy>>gx>>gy;
    printf("%.020lf", (sx*gy+sy*gx)/(sy+gy));
    return 0;
}