#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2005;
double f[MAXN][MAXN];
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  for (int k = 0; k <= n + m; k++)
    for (int i = max(k - n - m, 0); i <= min(n + m, k); i++) {
      int j = k - i;
      if (!j) {
        f[i][j] = 1.;
        continue;
      }
      if (!i) {
        f[i][j] = 1. / (j + 1);
        continue;
      }
      double a = j / (j + 1.) * (1. - f[j - 1][i]);
      double b = 1.;
      double c = 1. / (j + 1.) + a;
      double d = 1. - f[j][i - 1];
      double p = (d - b) / (a - b - c + d);
      f[i][j] = p * a + (1 - p) * b;
    }
  printf("%.10lf %.10lf\n", f[n][m], 1. - f[n][m]);
  return 0;
}
