#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const int MAX_N = 110;
double dp1[MAX_N][MAX_N][MAX_N], dp2[MAX_N][MAX_N][MAX_N],
    dp3[MAX_N][MAX_N][MAX_N];
int main() {
  int r, p, s;
  cin >> r >> s >> p;
  for (int i = 1; i <= r; i++) {
    dp1[i][0][0] = 1;
    dp2[i][0][0] = 0;
    dp3[i][0][0] = 0;
  }
  for (int i = 1; i <= p; i++) {
    dp1[0][i][0] = 0;
    dp2[0][i][0] = 1;
    dp3[0][i][0] = 0;
  }
  for (int i = 1; i <= s; i++) {
    dp1[0][0][i] = 0;
    dp2[0][0][i] = 0;
    dp3[0][0][i] = 1;
  }
  for (int i = 0; i <= r; i++) {
    for (int j = 0; j <= p; j++) {
      for (int k = 0; k <= s; k++) {
        if ((int)(i > 0) + (int)(j > 0) + (int)(k > 0) < 2) {
          continue;
        }
        double sum = 2.0 * (i * j + j * k + i * k);
        double rp = 2.0 * i * j / sum;
        double rs = 2.0 * i * k / sum;
        double ps = 2.0 * j * k / sum;
        if (i > 0) {
          dp1[i][j][k] += dp1[i - 1][j][k] * rp;
          dp2[i][j][k] += dp2[i - 1][j][k] * rp;
          dp3[i][j][k] += dp3[i - 1][j][k] * rp;
        }
        if (j > 0) {
          dp1[i][j][k] += dp1[i][j - 1][k] * ps;
          dp2[i][j][k] += dp2[i][j - 1][k] * ps;
          dp3[i][j][k] += dp3[i][j - 1][k] * ps;
        }
        if (k > 0) {
          dp1[i][j][k] += dp1[i][j][k - 1] * rs;
          dp2[i][j][k] += dp2[i][j][k - 1] * rs;
          dp3[i][j][k] += dp3[i][j][k - 1] * rs;
        }
      }
    }
  }
  cout << fixed << setprecision(12);
  cout << dp1[r][p][s] << " " << dp3[r][p][s] << " " << dp2[r][p][s] << "\n";
  return 0;
}
