#include <bits/stdc++.h>
using namespace std;
int OA, OB, OC;
double dp[101][101][101];
int main() {
  cout.precision(12);
  cin >> OA >> OB >> OC;
  memset(dp, 0, sizeof(dp));
  dp[OA][OB][OC] = 1.0;
  double ans;
  for (int j = OA; j >= 0; j--) {
    for (int i = OB; i >= 0; i--) {
      for (int k = OC; k >= 0; k--) {
        double a = j, b = i, c = k, sum = a + b + c, same;
        same = (a * (a - 1.0)) / (sum * (sum - 1.0)) +
               (b * (b - 1.0)) / (sum * (sum - 1.0)) +
               (c * (c - 1.0)) / (sum * (sum - 1.0));
        if (same == 1.0) continue;
        same = 1.0 - same;
        same = 1.0 / same;
        if (j)
          dp[j - 1][i][k] +=
              same * dp[j][i][k] * (a / sum) * (c / (sum - 1.0)) * 2.0;
        if (i)
          dp[j][i - 1][k] +=
              same * dp[j][i][k] * (b / sum) * (a / (sum - 1.0)) * 2.0;
        if (k)
          dp[j][i][k - 1] +=
              same * dp[j][i][k] * (c / sum) * (b / (sum - 1.0)) * 2.0;
      }
    }
  }
  ans = 0;
  for (int j = 1; j <= OA; j++) ans += dp[j][0][0];
  cout << fixed << ans << ' ';
  ans = 0;
  for (int j = 1; j <= OB; j++) ans += dp[0][j][0];
  cout << fixed << ans << ' ';
  ans = 0;
  for (int j = 1; j <= OC; j++) ans += dp[0][0][j];
  cout << fixed << ans << ' ';
}
