n = read_line.to_i ab = Array.new(n) { {Int64, Int64}.from read_line.split.map(&.to_i64) }.sort_by { |a, b| a + b } dp = [nil.as(Int64?)] * -~n dp[0] = 0 ab.each do |a, b| dp2 = dp.dup (0...n).each do |i| if (val = dp[i]) && val <= b dp2[i + 1] = val + a end end dp = dp2 end puts dp.rindex(&.itself)