import sys def MI(): return map(int, sys.stdin.readline().split()) def LI(): return list(map(int, sys.stdin.readline().split())) def LLI(rows_number): return [LI() for _ in range(rows_number)] def main(): inf=10**16 n,p=MI() abc=LLI(n) dp=[inf]*(p+1) dp[0]=0 for rank in abc: rank.append(1) for i in range(p,-1,-1): dp[i]=min(dp[i-di]+rank[di] for di in range(4) if i-di>=0) print(dp[p]/n) main()