import sys sys.setrecursionlimit(10**6) inf=float('inf') N,P=map(int,input().split()) A,B,C=[0]*N,[0]*N,[0]*N for i in range(N): A[i],B[i],C[i]=map(int,input().split()) dp=[[inf]*(P+1) for i in range(N+1)] dp[0][0]=0 for i in range(N): for j in range(P+1): dp[i+1][j]=dp[i][j]+A[i] if 1<=j: dp[i+1][j]=min(dp[i+1][j],dp[i][j-1]+B[i]) if 2<=j: dp[i+1][j]=min(dp[i+1][j],dp[i][j-2]+C[i]) if 3<=j: dp[i+1][j]=min(dp[i+1][j],dp[i][j-3]+1) print(dp[N][P]/N)