#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f, MAXN = 100 + 10;
double dp[MAXN][MAXN][MAXN];
int main() {
  int r, s, p;
  while (~scanf("%d %d %d%*c", &r, &s, &p)) {
    memset(dp, 0, sizeof(dp));
    dp[r][s][p] = 1;
    for (int i = r; i >= 0; i--) {
      for (int j = s; j >= 0; j--) {
        for (int k = p; k >= 0; k--) {
          if (!i && !k || !i && !j || !j && !k) continue;
          double sum = i * j + i * k + j * k;
          if (i) dp[i - 1][j][k] += dp[i][j][k] * i * k / sum;
          if (j) dp[i][j - 1][k] += dp[i][j][k] * i * j / sum;
          if (k) dp[i][j][k - 1] += dp[i][j][k] * j * k / sum;
        }
      }
    }
    double ans1 = 0, ans2 = 0, ans3 = 0;
    for (int i = 1; i <= r; i++) ans1 += dp[i][0][0];
    for (int i = 1; i <= s; i++) ans2 += dp[0][i][0];
    for (int i = 1; i <= p; i++) ans3 += dp[0][0][i];
    printf("%.9f %.9f %.9f\n", ans1, ans2, ans3);
  }
  return 0;
}
