#include <bits/stdc++.h>
double dp[2050][2050];
inline void dfs(const int x, const int y) {
  if (dp[x][y] > 0) return;
  if (x == 0) return (void)(dp[0][y] = 1.0 / (y + 1.0));
  if (y == 0) return (void)(dp[x][0] = 1.0);
  dfs(y - 1, x);
  dfs(y, x - 1);
  double p = dp[y][x - 1] / (dp[y][x - 1] + 1.0 / (y + 1));
  dp[x][y] = p * y / (y + 1.0) * (1.0 - dp[y - 1][x]) + (1.0 - p);
}
int main() {
  register int n, m;
  scanf("%d%d", &n, &m);
  dfs(n, m);
  printf("%.9lf %.9lf", dp[n][m], 1.00000000 - dp[n][m]);
  return 0;
}
