#include using namespace std; #define rep(i,a,b) for(int i=a;i> N >> P; rep(i, 0, 2) rep(j, 0, 201010) dp[i][j] = INF; dp[0][0] = 0; rep(_i, 0, N) { int i = _i % 2; int ii = (_i + 1) % 2; rep(j, 0, 201010) dp[ii][j] = INF; int a, b, c; scanf("%d%d%d", &a, &b, &c); rep(j, 0, P + 1) if (dp[i][j] != INF) { dp[ii][j + 3] = min(dp[ii][j + 3], dp[i][j] + 1); dp[ii][j + 2] = min(dp[ii][j + 2], dp[i][j] + c); dp[ii][j + 1] = min(dp[ii][j + 1], dp[i][j] + b); dp[ii][j] = min(dp[ii][j], dp[i][j] + a); } } double ans = 1.0 * dp[N % 2][P] / N; printf("%.10f\n", ans); }