#include <bits/stdc++.h>
const double EPS = 1e-20;
long double dp[55][5005];
double p[55];
int a[55], b[55], n, t;
inline bool check(double x) {
  for (int i = n - 1; i >= 0; i--) {
    for (int j = t + 1; j < 5005; j++) {
      dp[i + 1][j] = x;
    }
    for (int j = 0; j <= t; j++) {
      dp[i][j] = std::min((long double)x,
                          (dp[i + 1][j + a[i]] + a[i]) * p[i] +
                              (dp[i + 1][j + b[i]] + b[i]) * (1 - p[i]));
    }
  }
  return dp[0][0] < x;
}
int main() {
  scanf("%d%d", &n, &t);
  for (int i = 0; i < n; i++) {
    scanf("%d%d%lf", &a[i], &b[i], &p[i]);
    p[i] /= 100;
  }
  double l = 0, r = 1e10, mid;
  int i = 0;
  while (i <= 100) {
    i++;
    mid = (l + r) / 2;
    if (check(mid))
      r = mid;
    else
      l = mid;
  }
  printf("%.20lf", l);
  return 0;
}
