День на скачках
Формула-1 — это высший класс автоспорта. Типичный сезон Формулы-1 состоит из серии гонок, называемых "Гран-при", в которых участвуют такие конструкторы, как Ferrari, Renault и другие, с одним или несколькими автомобилями, управляемыми лучшими гонщиками мира. В течение сезона команды соревнуются в двух параллельных чемпионатах: чемпионате гонщиков и чемпионате команд.
В чемпионате гонщиков участники стремятся набрать максимальное количество очков к концу сезона. Согласно правилам, восемь лучших гонщиков на каждом Гран-при получают 10, 8, 6, 5, 4, 3, 2, 1 очков соответственно. При равенстве очков преимущество получает гонщик с наибольшим количеством первых мест. Если равенство сохраняется, учитываются вторые места и так далее до восьмых мест. Если и это не помогает, гонщики сортируются лексикографически по фамилии, а затем по имени.
После каждой гонки очки, заработанные каждым гонщиком, добавляются в копилку его команды. В конце сезона команда с наибольшим количеством очков выигрывает чемпионат команд. Чтобы добавить азарта в сезон, спонсорам команд разрешено покупать гонщиков из других команд даже в течение одного сезона. В случае равенства очков между командами, они сортируются лексикографически по названиям. В этой задаче вам предоставлены данные сезона Формулы-1, и вам нужно обработать эти данные в соответствии с вышеуказанными правилами, чтобы определить положение как гонщиков, так и команд.
Входные данные
Ваша программа будет тестироваться на одном или нескольких наборах данных, каждый из которых представляет сезон Формулы-1. Все входные строки содержат не более 255 символов. Изучив пример ввода/вывода, вы обнаружите, что первая строка каждого сезона содержит целое число N, где 0 < N < 32, представляющее количество Гран-при в этом сезоне. Для каждого Гран-при название Гран-при появляется на отдельной строке (максимальная длина — 64 символа), за которым следует таблица с именем, фамилией и названием команды восьми лучших гонщиков, от 1 до 8, в этом Гран-при. Каждое из имен и фамилий — это последовательность печатных ASCII-символов, не длиннее 12 символов, и не содержит пробелов. Каждое название команды — это последовательность печатных ASCII-символов, не длиннее 18 символов, и может содержать пробелы (но без начальных или конечных пробелов). Каждое название команды заканчивается одной точкой '.', которая не является частью названия. За списком каждого Гран-при следует строка из трех -'s. Последняя строка входного файла содержит один ноль.
Выходные данные
Для каждого набора данных на входе вы должны напечатать "Season k:", где k — номер набора данных (начиная с 1). Следующая строка должна содержать "Drivers Standing:". На последующих строках перечислите положение гонщиков за этот сезон. Для каждого гонщика напечатайте его имя и фамилию, разделенные ровно одним пробелом и выровненные по левому краю в поле шириной 25, за которым следует один пробел, а затем общее количество очков, набранных гонщиком за сезон. Положение гонщиков должно быть завершено пустой строкой.
Следующая строка должна содержать "Teams Standing:". На последующих строках перечислите положение команд за этот сезон. Для каждой команды напечатайте название команды, выровненное по левому краю в поле шириной 25, за которым следует один пробел, а затем общее количество очков, набранных командой за сезон. Положение команд должно быть завершено пустой строкой.