Профессору GukiZ нравятся контесты по программированию. Особенно ему нравится оценивать своих учеников по подготовленным им контестам. Сейчас он подготовил очередной контест.
Всего на занятия ходят n учеников, и до начала контеста у каждого из них есть рейтинг — некоторое положительное целое число. Ученики пронумерованы от 1 до n. Обозначим рейтинг i-го ученика за ai. GukiZ ожидает, что его ученики займут места согласно своим рейтингам.
Он считает, что каждый ученик займет место, равное
. В частности, если у ученика A рейтинг строго ниже, чем у ученика B, ученик A займёт строго худшее место, чем ученик B, а если у двух учеников равные рейтинги, они разделят одно и то же место.
GukiZ хотел бы, чтобы вы определили, какие места займут ученики, если всё пойдёт именно так, как он ожидает. Помогите ему в этом.
Выходные данные
В единственной строке выведите для каждого из n учеников место, которое он должен занять на контесте, в том же порядке, в котором они появляются во вводе.
Примечание
В первом примере ученики под номерами 2 и 3 расположены на первом месте (как ученики с самым высоким рейтингом), а ученик под номером 1 занимает третье место, так как есть ровно два ученика с рейтингом выше.
Во втором примере первый ученик является единственным, кто участвует в контесте.
В третьем примере ученики 2 и 5 делят первое место с наибольшим рейтингом, далее следует ученик 4 на третьем месте, а ученики номер 1 и 3 делят четвертое место.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 1 3 3
|
3 1 1
|
|
2
|
1 1
|
1
|
|
3
|
5 3 5 3 4 5
|
4 1 4 3 1
|