#include <bits/stdc++.h>
using namespace std;
long long modpow(long long base, long long exp, long long modulus) {
  base %= modulus;
  long long result = 1;
  while (exp > 0) {
    if (exp & 1) result = (result * base) % modulus;
    base = (base * base) % modulus;
    exp >>= 1;
  }
  return result;
}
bool pp[103][103][103];
double dp[103][103][103];
void inip(int r, int s, int p) {
  for (int i = 0; i < r + 1; i++)
    for (int j = 0; j < s + 1; j++)
      for (int k = 0; k < p + 1; k++) pp[i][j][k] = false;
}
double doit(int r, int s, int p, int fn) {
  if (r < 0 || s < 0 || p < 0) return 0;
  if (fn == 1) {
    if (r <= 0) return 0;
    if (r > 0 && s <= 0 && p <= 0) return 1;
  }
  if (fn == 2) {
    if (s <= 0) return 0;
    if (s > 0 && r <= 0 && p <= 0) return 1;
  }
  if (fn == 3) {
    if (p <= 0) return 0;
    if (p > 0 && s <= 0 && r <= 0) return 1;
  }
  if (pp[r][s][p]) return dp[r][s][p];
  double d = r * s + s * p + r * p;
  double ans = ((r * s) / d) * doit(r, s - 1, p, fn) +
               ((s * p) / d) * doit(r, s, p - 1, fn) +
               ((p * r) / d) * doit(r - 1, s, p, fn);
  dp[r][s][p] = ans;
  pp[r][s][p] = true;
  return ans;
}
int main() {
  int r, s, p;
  cin >> r >> s >> p;
  inip(r, s, p);
  double ans = doit(r, s, p, 1);
  inip(r, s, p);
  double ans1 = doit(r, s, p, 2);
  inip(r, s, p);
  double ans2 = doit(r, s, p, 3);
  printf("%.15lf %.15lf %.15lf", ans, ans1, ans2);
  printf("\n");
  ;
  return 0;
}
