#include using namespace std; int n,p; int abc[5005][4]; int dp[5005][15005]; const int INF = 1e9; int main() { cin >> n >> p; for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) { cin >> abc[i][j]; } abc[i][3] = 1; } for(int i = 0; i <= n; i++) { for(int j = 0; j <=p; j++) { dp[i][j]= INF; } } dp[0][0] = 0; for(int i = 0; i < n; i++) { for(int j = 0; j <= p; j++) { for(int k = 0; k < 4; k++) { if(j + k > p) continue; dp[i+1][j+k] = min(dp[i+1][j+k],dp[i][j] + abc[i][k]); } } } cout << fixed << setprecision(10) << dp[n][p] / (double)n << endl; }