#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rep(v,e) for(long v=0;v<e;++v) #define rrep3(v,s,e) for(long v=e;--v>=s;) double d[51][51][51]; main(){ char*rp=mmap(0l,1l<<25,1,2,0,0ll); long a,b,c,n; scanf("%ld%ld%ld%ld",&a,&b,&c,&n); rep(i,n){ rrep3(x,2,51){ double xx=x*(x-1); rrep3(y,1,51){ double yy=y*(y-1); rrep3(z,1,51){ double zz=z*(z-1); long s=x+y+z; double ss=s*(s-1); d[x][y][z]=( (1+d[x-1][y][z])*xx+ d[x][y-1][z]*yy+ d[x][y][z-1]*zz+ d[x][y][z]*(ss-(xx+yy+zz)) )/ss; } } } } printf("%.8f %.8f %.8f",d[a][b][c],d[b][c][a],d[c][a][b]); }