#include <bits/stdc++.h>
using namespace std;
double dp[101][101][101];
void init() {
  for (int i = 0; i < 101; i++)
    for (int j = 0; j < 101; j++)
      for (int k = 0; k < 101; k++) dp[i][j][k] = -1;
}
double f1(int r, int s, int p) {
  if (r == 0) return 0;
  if (s == 0 && p == 0) return 1;
  if (p && !s) return 0;
  if (!p && s) return 1;
  if (dp[r][s][p] >= 0) return dp[r][s][p];
  double x = s * r + r * p + s * p;
  double ss = s, rr = r, pp = p;
  return dp[r][s][p] = ((ss * rr) / x) * f1(r, s - 1, p) +
                       ((pp * rr) / x) * f1(r - 1, s, p) +
                       ((ss * pp) / x) * f1(r, s, p - 1);
}
double f2(int r, int s, int p) {
  if (s == 0) return 0;
  if (r == 0 && p == 0) return 1;
  if (p && !r) return 1;
  if (!p && r) return 0;
  if (dp[r][s][p] >= 0) return dp[r][s][p];
  double x = s * r + r * p + s * p;
  double ss = s, rr = r, pp = p;
  return dp[r][s][p] = ((ss * rr) / x) * f2(r, s - 1, p) +
                       ((pp * rr) / x) * f2(r - 1, s, p) +
                       ((ss * pp) / x) * f2(r, s, p - 1);
}
int main() {
  int r, s, p;
  init();
  cin >> r >> s >> p;
  double R = f1(r, s, p);
  init();
  double S = f2(r, s, p);
  double P = 1 - R - S;
  printf("%.10lf %.10lf %.10lf", R, S, P);
  return 0;
}
