B. Инвентаризация
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На предприятиях всегда много аппаратуры, мебели, других вещей. И за всеми ними нужно следить. Для этого вещам присваивают номера, по номеру куда проще составить базу и все отслеживать.

В процессе ревизии вы с удивлением обнаружили, что нумерация вещей не последовательна, а некоторые вещи и вовсе имеют одинаковый номер! Это нужно срочно исправить. Вы решили сделать так, чтобы номера вещей шли по порядку, начиная с единицы. При этом сменить номер — это достаточно трудоемкий процесс, и вы бы хотели по максимуму использовать текущую нумерацию.

Вам дана информация о текущих номерах для 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, так как нумерация должна начинаться с единицы.