#include <bits/stdc++.h>
using namespace std;
long double nc2(long double n) { return n * (n - 1) / 2; }
int main() {
  long long int r, s, p;
  cin >> r >> s >> p;
  long double dp[r + 5][s + 5][p + 5];
  memset(dp, (long double)0, sizeof(dp));
  dp[r][s][p] = 1;
  for (int i = r; i > -1; i--) {
    for (int j = s; j > -1; j--) {
      for (int k = p; k > -1; k--) {
        if (i > 0 && k > 0) {
          dp[i - 1][j][k] +=
              dp[i][j][k] * (i * k / (long double)(i * j + j * k + k * i));
        }
        if (i > 0 && j > 0) {
          dp[i][j - 1][k] +=
              dp[i][j][k] * (i * j / (long double)(i * j + j * k + k * i));
        }
        if (k > 0 && j > 0) {
          dp[i][j][k - 1] +=
              dp[i][j][k] * (j * k / (long double)(i * j + j * k + k * i));
        }
      }
    }
  }
  long double a1 = 0, a2 = 0, a3 = 0;
  for (long long int i = 1; i < (r + 1); i++) a1 += dp[i][0][0];
  for (long long int i = 1; i < (s + 1); i++) a2 += dp[0][i][0];
  for (long long int i = 1; i < (p + 1); i++) a3 += dp[0][0][i];
  cout << setprecision(12) << a1 << " " << a2 << " " << a3;
}
