# frozen_string_literal: true MEMBERS = gets.to_i.times.map { gets.chomp.split.map(&:to_i) } FOODS = gets.to_i.times.map { gets.chomp.split.map(&:to_i) } # ----------------------------------------------------------------- calc accepts = [] MEMBERS.each do |member| FOODS.each_with_index do |food, index| accepts << index if food[0] <= member[0] && food[1] >= member[1] end end FOODS_WITH_NUM = accepts.group_by(&:itself).map { |i, j| [i, j.size] } MAX = ((FOODS_WITH_NUM.max_by { |_, k| k } || [nil, 0])[1]) MAXS = FOODS_WITH_NUM.filter { |_, j| j == MAX } RESULT = MAXS.empty? ? 0 : MAXS.map { |k, _v| k + 1 }.uniq # ----------------------------------------------------------------- output puts RESULT