#include <bits/stdc++.h>   using namespace std;   const int INF = 0x3f3f3f3f;   const long long INFF = 0x3f3f3f3f3f3f3f3f;   const double pi = acos(-1.0);   const double eps = 1e-9;   const long long mod = 1e9 + 7;   int read() {     int x = 0, f = 1;     char ch = getchar();     while (ch< 0  | ch>  9 ) {       if (ch ==  - ) f = -1;       ch = getchar();     }     while (ch >=  0  && ch <=  9 ) {       x = x * 10 + ch -  0 ;       ch = getchar();     }     return x * f;   }   void Out(int aa) {     if (aa > 9) Out(aa / 10);     putchar(aa % 10 +  0 );   }   int n, t;   int f[55], s[55], p[55];   double dp[55][5005];   bool check(double mid) {     for (int i = n; i >= 1; i--) {       for (int j = t + 1; j <= 5000; j++) dp[i + 1][j] = mid;       for (int j = 0; j <= t; j++) {         double t1 = (dp[i + 1][j + f[i]] + f[i]) * p[i] / 100;         double t2 = (dp[i + 1][j + s[i]] + s[i]) * (100 - p[i]) / 100;         dp[i][j] = min(mid, t1 + t2);       }     }     return dp[1][0] < mid;   }   int main() {     n = read(), t = read();     for (int i = 1; i <= n; i++) f[i] = read(), s[i] = read(), p[i] = read();     double l = 0, r = 1e12;     for (int i = 0; i < 100; i++) {       double mid = (l + r) / 2;       if (check(mid))         r = mid;       else         l = mid;     }     printf( %.10f n , l);     return 0;   }   