# -*- coding: utf-8 -*- N, P = map(int, raw_input().split()) abc = [map(int, raw_input().split()) for i in xrange(N)] dp = [[1e10]*(P + 5) for i in xrange(N)] for i, (a, b, c) in enumerate(abc): print i if i == 0: dp[0][:4] = [a, b, c, 1] continue for j in xrange(min(3*(i + 1), P)): dp[i][j] = min(dp[i][j], dp[i - 1][j] + a) if j > 0: dp[i][j] = min(dp[i][j], dp[i - 1][j - 1] + b) if j > 1: dp[i][j] = min(dp[i][j], dp[i - 1][j - 2] + c) if j > 2: dp[i][j] = min(dp[i][j], dp[i - 1][j - 3] + 1) print "%.10f" % (1.0*dp[N - 1][P]/N)