#include<bits/stdc++.h> using namespace std; double dp[1005][1005]; int main(){     memset(dp[0],0,1005);     int numN,numM;     //cout<<"start\n";     cin>>numN>>numM;     for(int n=1;n<=numN;n++){         for(int m=1;m<=numM;m++){             if(m>=3){                 dp[n][m]=1.0*n/(n+m) + 1.0*m*(m-1)*n/(n+m)/(n+m-1)/(n+m-2)*dp[n-1][m-2] + 1.0*m*(m-1)*(m-2)/(n+m)/(n+m-1)/(n+m-2)*dp[n][m-3];             }else if(m==2){                 dp[n][m]=1.0*n/(n+m) + 1.0*m*(m-1)*n/(n+m)/(n+m-1)/(n+m-2)*dp[n-1][m-2];             }else{                 dp[n][m]=1.0*n/(n+m);             }         }     }     cout<<dp[numN][numM];     return 0; }