n, pp = gets.chomp.split(" ").map(&:to_i)
INF = Float::INFINITY
dp = Array.new(2).map{Array.new((n * 3)+4,INF)}
dp[0][0] = 0
max = 0
n.times do |i|
    a, b, c = gets.chomp.split(" ").map(&:to_i)
    d = 1
    rank = [a,b,c,d]
    max += 3
    0.upto(max) do |j|
        0.upto(3) do |k|
            #p [dp[1][j+k],dp[0][j+k]+rank[k]].min

            dp[1][j+k] = [dp[1][j+k],dp[0][j]+rank[k]].min
        end
    end
    0.upto(max) do |xy|
        dp[0][xy] = dp[1][xy]
        dp[1][xy] = INF
    end
end
puts ((dp[0])[pp])/n.to_f