#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]);
}