N, M = gets.split.map &:to_i R = $<.map{|s| s.split.map &:to_i } maximum = M.times.map{ [0, [-1]]} R.each_with_index{|r, i| maximum = maximum.zip(r).map{|(max, idxs), x| case x <=> max when 1 [x, [i]] when -1 [max, idxs] else [max, idxs+[i]] end } p maximum.flat_map{|max, idxs| idxs }.uniq.size }