#include <bits/stdc++.h>
using namespace std;
const int maxn = 110;
double dp[maxn][maxn][maxn];
int a, b, c;
int main() {
  while (scanf("%d%d%d", &a, &b, &c) != EOF) {
    memset(dp, 0, sizeof(dp));
    dp[a][b][c] = 1;
    for (int i = a; i >= 0; i--) {
      for (int j = b; j >= 0; j--) {
        for (int k = c; k >= 0; k--) {
          if ((!i && !j) || (!i && !k) || (!j && !k)) continue;
          double cur = dp[i][j][k];
          double tot = i * j + i * k + j * k;
          if (i) dp[i - 1][j][k] += cur * double(i * k) / tot;
          if (j) dp[i][j - 1][k] += cur * double(i * j) / tot;
          if (k) dp[i][j][k - 1] += cur * double(j * k) / tot;
        }
      }
    }
    double ansa = 0, ansb = 0, ansc = 0;
    for (int i = 1; i <= a; i++) ansa += dp[i][0][0];
    for (int i = 1; i <= b; i++) ansb += dp[0][i][0];
    for (int i = 1; i <= c; i++) ansc += dp[0][0][i];
    printf("%.9lf %.9lf %.9lf\n", ansa, ansb, ansc);
  }
  return 0;
}
