C. Очередь
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

В Главном Банке Берляндии в очереди в кассу стоят 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