#include using namespace std; typedef long long ll; double dp[101][101][101]; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n,m; cin >> n >> m; vector a(n + 1),b(n + 1),p(n + 1); for(int i = 1;i <= n;i ++){ cin >> a[i] >> b[i] >> p[i]; } for(int i = 1;i <= n;i ++){ for(int j = 0;j <= i;j ++){ for(int k = 0;k <= m;k ++){ if(j > 0)dp[i][j][k] = max(dp[i][j][k],dp[i - 1][j - 1][k] + (1.0 / a[i])); double tmp = 1; for(int kk = 1;kk <= k;kk ++){ dp[i][j][k] = max(dp[i][j][k],dp[i - 1][j][k - kk] + tmp * (1.0 / p[i]) * (1.0 / b[i])); tmp *= (1.0 - 1.0 / p[i]); } } } } double ans = 0; for(int j = 0;j <= n;j ++){ for(int k = 0;k <= m;k ++){ ans = max(ans,dp[n][j][k]); } } cout << fixed << setprecision(10) << ans << "\n"; return 0; }