N, P = map(int, input().split()) contests = [list(map(int, input().split())) for _ in range(N)] dp = [float('inf')] * (P + 1) dp[0] = 0 for i in range(N): a = contests[i] nxt = [float('inf')] * (P + 1) for j in range(P + 1): if dp[j] == float('inf'): continue for k in range(3, -1, -1): if k < 3: add = a[k] else: add = 1 if j + k <= P: nxt[j + k] = min(nxt[j + k], dp[j] + add) dp = nxt #print(dp) print(dp[P] / N)