#include <bits/stdc++.h>
using namespace std;
const int maxn = 100 + 5;
double dp[maxn][maxn][maxn];
int main() {
  int r, s, p;
  scanf("%d%d%d", &r, &s, &p);
  dp[r][s][p] = 1;
  for (int i = r; i >= 1; i--) {
    for (int j = s; j >= 1; j--) {
      for (int k = p; k >= 1; k--)
        if (dp[i][j][k]) {
          double tot = i * j + i * k + j * k;
          dp[i - 1][j][k] += (i * k) / tot * dp[i][j][k];
          dp[i][j - 1][k] += (i * j) / tot * dp[i][j][k];
          dp[i][j][k - 1] += (j * k) / tot * dp[i][j][k];
        }
    }
  }
  double ans = 0;
  for (int i = 1; i <= r; i++) {
    for (int j = 1; j <= s; j++) {
      ans += dp[i][j][0];
    }
  }
  printf("%.9f\n", ans);
  ans = 0;
  for (int i = 1; i <= s; i++) {
    for (int j = 1; j <= p; j++) {
      ans += dp[0][i][j];
    }
  }
  printf("%.9f\n", ans);
  ans = 0;
  for (int i = 1; i <= p; i++) {
    for (int j = 1; j <= r; j++) {
      ans += dp[j][0][i];
    }
  }
  printf("%.9f\n", ans);
  return 0;
}
