#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
using ll = long long;
const ll M = 1e18;
int si[] = {-1, 0, 1, 0};
int sj[] = {0, -1, 0, 1};

int main(){
  double sx, sy, gx, gy;
  cin >> sx >> sy >> gx >> gy;
  
  double x1 = (sy*gx+gy*sx)/(gy+sy);
  double x2 = (-sy*gx+gy*sx)/(gy-sy);
  if((sx <= x1 && x1 <= gx) || (gx <= x1 && x1 <= sx)){
    cout <<std::fixed << std::setprecision(15) << x1 << endl;
  }else{
    cout << std::fixed << std::setprecision(15) <<x2 << endl;
  }



  return 0;
}

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
  ll x1,y1,x2,y2;
  cin>>x1>>y1>>x2>>y2;
  cout<<fixed<<setprecision(10)<<(double)((x1*y2)+(x2*y1))/(y1+y2);
}