#!/usr/bin/env crystal def dfs( memo : Hash(Array(Int32),Int64), v : Array(Array(Int64)), d : Int32, r : Int32 ) return 0_i64 if d==v.size memo[[d,r]]||=(0..[r,3].min).reduce(1_i64<<60){|s,i| [s,dfs(memo,v,d+1,r-i)+(v[d][i]||1_i64)].min } end memo=Hash(Array(Int32),Int64).new n,k=gets.not_nil!.split.map(&.to_i) v=n.times.map{gets.not_nil!.split.map(&.to_i64)}.to_a p dfs(memo,v,0,k) / n.to_f