n = gets.to_i level = gets.split.map &:to_i ac_count = [0] * n user = Hash.new gets.to_i.times do |i| name, problem = gets.split id = problem.ord - 'A'.ord ac_count[id] += 1 score = (50 * level[id] + 50 * level[id] / (0.8 + 0.2 * ac_count[id])).floor user[name] = [[0] * n, 0] if !user.key?(name) user[name][0][id] = score user[name][1] = i end result = user.sort_by { |name, (score, time)| [-score.sum, time] } puts result.map.with_index(1) { |(name, (score, time)), i| [i, name, score, score.sum].flatten.join(' ') }.join("\n")