N, M = gets.split.map &:to_i R = $<.map{|s| s.split.map &:to_i } maximum = M.times.map{ [0, 0]} R.each_with_index{|r, i| maximum = maximum.zip(r).map{|(max, idxs), x| flg = 1< max when 1 [x, flg] when -1 [max, idxs] else [max, idxs|flg] end } p maximum.map{|max, idxs| idxs }.inject(:|).to_s(2).count(?1) }