#include <bits/stdc++.h>
using namespace std;

int N, M, L;
vector<double> P, T, V;
double F[51];
double C[51][51];

int main(){
    cout.precision(16);
    cout.setf(ios::fixed);
    
    F[0] = 1;
    for(int i=1; i<51; i++)
        F[i] = F[i-1] * i;
    for(int i=0; i<51; i++)
        for(int j=0; j<=i; j++)
            C[i][j] = F[i] / F[i-j] / F[j];
    
    cin >> N >> M >> L;
    P.resize(N); T.resize(N); V.resize(N);
    for(int i=0; i<N; i++)
        cin >> P[i] >> T[i] >> V[i];
    
    for(int i=0; i<N; i++){
        double ans = 0;
        for(int k=0; k<=M; k++){ //????????????i????????????????????????
            double ti = L / V[i] + T[i]*k;
            double ttans = 1;
            for(int j=0; j<N; j++) if(i != j){
                double tans = 0;
                for(int l=0; l<=M; l++){ //????????????j????????????????????????
                    double tj = L / V[j] + T[j]*l;
                    if(ti < tj){
                        tans += pow(P[j]/100, l) * pow(1-P[j]/100, M-l) * C[M][l];
                    }
                }
                ttans *= tans;
            }
            ans += ttans * pow(P[i]/100, k) * pow(1-P[i]/100, M-k) * C[M][k];
        }
        cout << ans << endl;
    }
    
    return 0;
}