#include <bits/stdc++.h>
using namespace std;
const long long N = 105;
long double dp[N][N][N][3];
long double rec(long long r, long long p, long long s, long long &t) {
  if (t == 0 && (s == 0 && p == 0) && r > 0) return 1;
  if (t == 1 && (p == 0 && r == 0) && s > 0) return 1;
  if (t == 2 && (r == 0 && s == 0) && p > 0) return 1;
  if ((r == 0 && p == 0) || (p == 0 && s == 0) || (r == 0 && s == 0)) return 0;
  if (dp[r][p][s][t] != -1) return dp[r][p][s][t];
  long double t1 = 0, t2 = 0, t3 = 0;
  long double g = r + p + s;
  long double x = 0, y = 0, z = 0;
  if (r >= 2) x = ((long double)r * (r - 1)) / (g * (g - 1));
  if (p >= 2) y = ((long double)p * (p - 1)) / (g * (g - 1));
  if (s >= 2) z = ((long double)s * (s - 1)) / (g * (g - 1));
  long double sum = x + y + z;
  long double cc = sum / (1 - sum);
  if (r) t1 = (cc + 1) * 2 * (r / g) * (p / (g - 1)) * rec(r - 1, p, s, t);
  if (p) t2 = (cc + 1) * 2 * (p / g) * (s / (g - 1)) * rec(r, p - 1, s, t);
  if (s) t3 = (cc + 1) * 2 * (s / g) * (r / (g - 1)) * rec(r, p, s - 1, t);
  long double temp = t1 + t2 + t3;
  return dp[r][p][s][t] = t1 + t2 + t3;
}
int32_t main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  long long r, s, p;
  cin >> r >> s >> p;
  for (long long i = 0; i < N; i++)
    for (long long j = 0; j < N; j++)
      for (long long k = 0; k < N; k++)
        dp[i][j][k][0] = -1, dp[i][j][k][1] = -1, dp[i][j][k][2] = -1;
  for (long long i = 0; i < 3; i++)
    cout << fixed << setprecision(12) << rec(r, p, s, i) << ' ';
  return 0;
}
