Программирование-батут-атлон!
Соревнования по программированию — это весело и увлекательно. Программирование должно стать олимпийским видом спорта! По крайней мере, мы так считаем. Однако, когда мы предложили эту идею некоторым друзьям, они не разделили нашего энтузиазма. Поэтому мы решили предложить комбинированный вид спорта, который будет интереснее для зрителей. Программно-батутный атлон! (мы еще работаем над названием).
Идея такова. Это командный спорт, в котором каждая команда состоит из участников. У команды есть час, компьютер и батут. В любой момент времени на компьютере может работать не более одного участника команды, и при этом хотя бы один участник должен прыгать на батуте. В начале соревнования команде выдается задач по программированию и батутных элементов (упражнений). Команда решает, как распределить батутные элементы между участниками, так чтобы каждый участник должен был выполнить из данных элементов на батуте. Программные задачи решаются командой совместно, однако ни один участник не может провести за компьютером более минут в общей сложности. Оценка складывается из двух частей, которые суммируются:
Оценка за программирование варьируется от до . Команда получает баллов за каждую правильно решенную задачу.
Оценка за батут варьируется от до . Каждому из батутных элементов выставляется оценка судьями, которая находится в диапазоне от до . Итоговая оценка за выполнение на батуте определяется путем отброса самой высокой и самой низкой из оценок, после чего оставшиеся оценки суммируются.
Перед тем как представить этот новый вид спорта Международному олимпийскому комитету, мы хотим, чтобы все было готово, чтобы показать, насколько серьезно мы настроены. Поэтому каждая команда должна получить медаль, если не более чем две другие команды набрали строго более высокий балл. Однако, чтобы справиться с недавней нехваткой медалей, жюри было поручено следить за тем, чтобы число команд, заслуживающих медаль, не превышало . Мы просим вас написать программу, которая определит медалистов, исходя из результатов различных команд.
Входные данные
Первая строка содержит число команд-участников. Далее следуют строк. Каждая из этих строк описывает команду и содержит значения ; — это пятибуквенный код, используемый для идентификации команды, — целое число, указывающее количество решенных задач, и — целое число, указывающее оценку за выполнение элемента батутного упражнения номер . Разные команды всегда имеют разные коды.
Выходные данные
Выведите строк, где — количество медалистов. Каждая строка должна представлять команду-медалиста, содержать два значения и , где — код команды, а — общий балл команды. Команды-медалисты должны быть перечислены в порядке убывания общего балла, а при равенстве баллов — в порядке их появления во входных данных.