func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     int b, w;     cin >> w >> b;     if (w == 0)       cout <<  0.000000000  << endl;     else if (b == 0)       cout <<  1.000000000  << endl;     else if (b == 1)       printf( %.9f n , double(w) / (w + 1));     else if (b == 2)       printf( %.9f n , double(w * (w + 1) + 2) / ((w + 1) * (w + 2)));     else {       double p[w + 1][b + 1];       if (b >= 2 * w) {         for (int col = b - 2 * w; col >= 0; col -= 3) p[0][col] = 0.0;         int startcol, endcol;         for (int row = 1; row <= w; row++) {           startcol = (b + w - row) % 3;           endcol = b - 2 * (w - row);           if (startcol == 0)             p[row][startcol] = 1.0;           else if (startcol == 1)             p[row][startcol] = double(row) / (row + 1);           else             p[row][startcol] =                 double(row * (row + 1) + 2) / ((row + 1) * (row + 2));           for (int col = startcol + 3; col <= endcol; col += 3) {             p[row][col] =                 double(row) / (row + col) +                 (p[row][col - 3] * (col - 2) + p[row - 1][col - 2] * row) * col *                     (col - 1) / (row + col) / (row + col - 1) / (row + col - 2);           }         }       } else {         int startcol, endcol;         int firstrow = w - b / 2;         for (int row = firstrow; row <= w; row++) {           startcol = (b + w - row) % 3;           endcol = b - 2 * (w - row);           if (startcol == 0)             p[row][startcol] = 1.0;           else if (startcol == 1)             p[row][startcol] = double(row) / (row + 1);           else             p[row][startcol] =                 double(row * (row + 1) + 2) / ((row + 1) * (row + 2));           for (int col = startcol + 3; col <= endcol; col += 3) {             p[row][col] =                 double(row) / (row + col) +                 (p[row][col - 3] * (col - 2) + p[row - 1][col - 2] * row) * col *                     (col - 1) / (row + col) / (row + col - 1) / (row + col - 2);           }         }       }       printf( %.9f n , p[w][b]);     }     return 0;   }   