text: /*
  BIJOY
  CSE-25th Batch
  Shahjalal University of Science and Technology
  */
  #include<bits/stdc++.h>
  //#define pi             3.14159265358979323846264338328
  //#define pi             2*acos(0.0)
  //#define valid(tx,ty)   tx>=0&&tx<r&&ty>=0&&ty<c
  //#define ll             long long int
  //#define llu            unsigned long long int
  //#define mx             1000001
  //#define mod            100000007
  //const long long inf =  1e15;
  /*----------------------Graph Moves------------------*/
  //const int fx[]={+1,-1,+0,+0};
  //const int fy[]={+0,+0,+1,-1};
  //const int fx[]={+0,+0,+1,-1,-1,+1,-1,+1};
  //const int fy[]={-1,+1,+0,+0,+1,+1,-1,-1};
  //const int fx[]={-2,-2,-1,-1,+1,+1,+2,+2};
  //const int fy[]={-1,+1,-2,+2,-2,+2,-1,+1};
  /*---------------------------------------------------*/
  /*-----------------------Bitmask---------------------*/
  //int biton(int N,int pos){return N=N(1<<pos);}
  //int bitoff(int N,int pos){return N=N&~(1<<pos);}
  //bool check(int N,int pos){return (bool)(N&(1<<pos));}
  /*---------------------------------------------------*/
  using namespace std;
  
  int main(){
  //    freopen("Input.txt","r",stdin);
  //    freopen("Output.txt","w",stdout);
      double a,b,c,d;
      cin>>a>>b>>c>>d;
      double dd=.0000000000001,ddd=1,ans=0;
      while(ddd>dd){
          ans+=(ddd*(a/b));
          ddd*=1-a/b;
          ddd*=1-c/d;
      }
      printf("%.12f\n",ans);
      return 0;
  }
  