#include <bits/stdc++.h>
using namespace std;
double dp[109][109][109];
bool visit[109][109][109];
double dfs(int r, int s, int p) {
  if (r == 0) return 0.0;
  if (s == 0 && p == 0) return 1.0;
  if (visit[r][s][p]) return dp[r][s][p];
  visit[r][s][p] = 1;
  int tot = r * s + r * p + s * p;
  dp[r][s][p] = 0;
  if (s) dp[r][s][p] += 1.0 * dfs(r, s - 1, p) * (1.0 * r * s) / (1.0 * tot);
  if (r) dp[r][s][p] += 1.0 * dfs(r - 1, s, p) * (1.0 * r * p) / (1.0 * tot);
  if (p) dp[r][s][p] += 1.0 * dfs(r, s, p - 1) * (1.0 * s * p) / (1.0 * tot);
  return dp[r][s][p];
}
int main() {
  int r, s, p;
  scanf("%d%d%d", &r, &s, &p);
  printf("%.12f %.12f %.12f\n", dfs(r, s, p), dfs(s, p, r), dfs(p, r, s));
  return 0;
}
