Codeforces Round 315 (Div. 2) |
---|
Закончено |
На предприятиях всегда много аппаратуры, мебели, других вещей. И за всеми ними нужно следить. Для этого вещам присваивают номера, по номеру куда проще составить базу и все отслеживать.
В процессе ревизии вы с удивлением обнаружили, что нумерация вещей не последовательна, а некоторые вещи и вовсе имеют одинаковый номер! Это нужно срочно исправить. Вы решили сделать так, чтобы номера вещей шли по порядку, начиная с единицы. При этом сменить номер — это достаточно трудоемкий процесс, и вы бы хотели по максимуму использовать текущую нумерацию.
Вам дана информация о текущих номерах для n вещей, находящихся на предприятии. Перенумеруйте вещи так, чтобы их номера образовывали перестановку чисел от 1 до n, при этом количество вещей, номер которых будет изменён, должно быть минимально. Напомним, что набор из n чисел образует перестановку, если все числа лежат в пределах от 1 до n, и никакие два числа не совпадают.
В первой строке находится одно целое число n — количество вещей (1 ≤ n ≤ 105).
Во второй строке находятcя n чисел a1, a2, ..., an (1 ≤ ai ≤ 105) — исходные номера предметов.
Выведите n чисел — итоговые номера предметов в порядке следования во входных данных. Если возможных ответов несколько, разрешается вывести любой.
3
1 3 2
1 3 2
4
2 2 3 3
2 1 3 4
1
2
1
В первом тесте нумерация уже представляет собой перестановку, поэтому ничего менять не надо.
Во втором тесте есть две пары совпадающих номеров, в каждой паре нужно сменить по одному номеру.
В третьем тесте необходимо заменить 2 на 1, так как нумерация должна начинаться с единицы.
Название |
---|