R,C,T,Y,X,H,W=gets(?#).split.map &:to_i B=*$< s=(N=0...R).map{|y|(M=0...C).map{|x|[1,0,-1,0,1].each_cons(2).select{|h,w|(B[y+h]||[])[x+w]!=?#}}} d=N.map{[0]*C} d[Y][X]=1.0 [T,5000+T%2].min.times{n=N.map{[0]*C} N.map{|y|M.map{|x|B[y][x]!=?.||(t=s[y][x];t[0]?t.map{|h,w|n[y+h][x+w]+=d[y][x]/t.size}:n[y][x]+=d[y][x])}} d=n} p d[H][W]