N = gets.to_i A = $<.map{|s|s.split.map &:to_i} A.map!{|a|a.sort}.sort! $dp = {} def f(i) $dp[i] ||= 1.+ (0...i).select{|j| A[j].zip(A[i]).all?{|a,b|a < b} }.map{|j| f(j) }.max || 0 end p (0...N).map{|n|f(n)}.max