#include <bits/stdc++.h>
using namespace std;
inline void rd(int &x) {
  x = 0;
  char ch = 0;
  int w = 0;
  while (!isdigit(ch)) ch = getchar(), w |= ch == '-';
  while (isdigit(ch)) x = (x << 1) + (x << 3) + (ch ^ 48), ch = getchar();
  x = w ? -x : x;
}
double l, r = 1e9;
double f[55][6005];
int n, m, a[55], b[55], p[55];
bool ok(double k) {
  for (int i = n; i; i--) {
    for (int j = m + 1; j < 6005; j++) f[i + 1][j] = k;
    for (int j = 0; j <= m; j++)
      f[i][j] = min(k, (f[i + 1][j + a[i]] + a[i]) * p[i] / 100.0 +
                           (f[i + 1][j + b[i]] + b[i]) * (100 - p[i]) / 100.0);
  }
  return f[1][0] < k;
}
signed main() {
  rd(n);
  rd(m);
  for (int i = 1; i <= n; i++) rd(a[i]), rd(b[i]), rd(p[i]);
  for (int i = 1; i <= 60; i++) {
    double mid = (l + r) * 0.5;
    ok(mid) ? r = mid : l = mid;
  }
  printf("%.10lf", l);
}
