The Bad Luck Island is inhabited by three kinds of species: *r* rocks, *s* scissors and *p* papers. At some moments of time two random individuals meet (all pairs of individuals can meet equiprobably), and if they belong to different species, then one individual kills the other one: a rock kills scissors, scissors kill paper, and paper kills a rock. Your task is to determine for each species what is the probability that this species will be the only one to inhabit this island after a long enough period of time.
The single line contains three integers *r*, *s* and *p* (1 ≤ *r*, *s*, *p* ≤ 100) — the original number of individuals in the species of rock, scissors and paper, respectively.
from collections import defaultdict

def rsp(r, s, p):
    P = {(r, s, p): 1}
    pr = 0
    ps = 0
    pp = 0
    while P:
        Q = defaultdict(lambda: 0)
        for ((r, s, p), q) in P.items():
            if not r:
                ps += q
                continue
            if not s:
                pp += q
                continue
            if not p:
                pr += q
                continue
            x = q / (r*s + s*p + r*p)
            Q[r-1, s, p] += r*p*x
            Q[r, s-1, p] += r*s*x
            Q[r, s, p-1] += s*p*x
        P = Q
    return pr, ps, pp


def main():
    r, s, p = readinti()
    pr, ps, pp = rsp(r, s, p)
    print(f'{pr} {ps} {pp}')

##########

import sys
import time
import traceback
from contextlib import contextmanager
from io import StringIO

def readint():
    return int(input())


def readinti():
   return map(int, input().split())


def readintl():
   return list(readinti())


def readintll(k):
    return [readintl() for _ in range(k)]


def log(*args, **kwargs):
    print(*args, **kwargs, file=sys.stderr)


@contextmanager
def patchio(i):
    try:
        sys.stdin = StringIO(i)
        sys.stdout = StringIO()
        yield sys.stdout
    finally:
        sys.stdin = sys.__stdin__
        sys.stdout = sys.__stdout__


def do_test(k, test):
    try:
        log(f"TEST {k}")
        i, o = test
        with patchio(i) as r:
            t0 = time.time()
            main()
            t1 = time.time()
        if r.getvalue() == o:
            log(f"OK ({int((t1-t0)*1000000)/1000:0.3f} ms)\n")
        else:
            log(f"Expected:\n{o}"
                f"Got ({int((t1-t0)*1000000)/1000:0.3f} ms):\n{r.getvalue()}")
    except Exception:
        traceback.print_exc()
        log()


def test(ts):
    for k in ts or range(len(tests)):
        do_test(k, tests[k])


tests = [("""\
2 2 2
""", """\
0.333333333333 0.333333333333 0.333333333333
"""), ("""\
2 1 2
""", """\
0.150000000000 0.300000000000 0.550000000000
"""), ("""\
1 1 3
""", """\
0.057142857143 0.657142857143 0.285714285714
""")]


if __name__ == '__main__':
    from argparse import ArgumentParser
    parser = ArgumentParser()
    parser.add_argument('--test', '-t', type=int, nargs='*')
    args = parser.parse_args()
    main() if args.test is None else test(args.test)
