#include <bits/stdc++.h>
using namespace std;
const int N = 51, M = 5010;
double f[N][M], P[N], df[N][M];
int n, R, F[N], S[N];
double newton(double x) {
  for (int i = n - 1; i >= 0; --i) {
    for (int t = 0; t <= R; ++t) {
      f[i][t] = P[i] * (F[i] + (t + F[i] <= R ? f[i + 1][t + F[i]] : x)) +
                (1 - P[i]) * (S[i] + (t + S[i] <= R ? f[i + 1][t + S[i]] : x));
      df[i][t] = P[i] * (t + F[i] <= R ? df[i + 1][t + F[i]] : 1) +
                 (1 - P[i]) * (t + S[i] <= R ? df[i + 1][t + S[i]] : 1);
      if (i && x < f[i][t]) f[i][t] = x, df[i][t] = 1;
    }
  }
  return x - (x - f[0][0]) / (1 - df[0][0]);
}
int main() {
  scanf("%d %d", &n, &R);
  for (int i = 0; i < n; ++i) {
    int p;
    scanf("%d %d %d", &F[i], &S[i], &p);
    P[i] = p / 100.0;
  }
  double x = 1e9;
  for (int iter = 0; iter < 4; ++iter) x = newton(x);
  printf("%.10f\n", x);
  return 0;
}
