n=gets.to_i data=[] n.times do d=gets.split.map(&:to_i).sort data<< d end data.sort!{|a, b|a[0]<=>b[0]} memo=[] n.times do |i| d=data[i]+[0] memo.size.times do |j| _d=memo[j] d[3]=[d[3], _d[3]+1].max if _d[0]