Codeforces Round 101 (Div. 2) |
---|
Закончено |
В Главном Банке Берляндии в очереди в кассу стоят n человек, каждый знает свой рост hi, а также росты остальных людей в очереди. Каждый из них мысленно запомнил число ai — сколько людей, которые выше ростом и стоят в очереди раньше.
Проходит некоторое время, и кассир уходит на обеденный перерыв, а люди из очереди рассаживаются на стулья в зале ожидания в произвольном порядке.
Когда обеденный перерыв закончился, то выясняется, что никто из них не помнит точного порядка людей в очереди, но каждый помнит свое число ai.
Ваша задача — если это возможно, восстановить порядок людей в очереди. Может быть, что допустимых порядков несколько, но вам требуется найти любой из них. Также требуется вывести возможный набор чисел hi — росты людей в очереди, так чтобы числа ai были корректны.
Первая строка входных данных содержит целое число n — количество людей в очереди (1 ≤ n ≤ 3000). Далее в n строках по одному на строке даны описания людей в формате «namei ai», где namei — непустая строка из строчных латинских букв длиной не более 10 символов (имя i-ого человека), ai — целое число (0 ≤ ai ≤ n - 1), обозначающее количество людей, которые выше ростом и стоят в очереди раньше i-ого человека. Гарантируется, что все имена различны.
Если не существует ни одного допустимого порядка людей в очереди, то выведите единственную строку, содержащую «-1» (без кавычек). В противном случае в n строках выведите людей в формате «namei hi», где hi — целое число от 1 до 109 (включительно), предполагаемый рост человека с именем namei. Людей выводите в порядке очереди от начала к концу. Числа hi не обязаны быть уникальными.
4
a 0
b 2
c 0
d 0
a 150
c 170
d 180
b 160
4
vasya 0
petya 1
manya 3
dunay 3
-1
Название |
---|