#include <bits/stdc++.h>
using namespace std;
int N, M;
bool has[1000006];
int arr[1000006];
int main() {
  cin >> N;
  vector<int> myv;
  for (int i = 0; i < N; i++) {
    cin >> arr[i];
    has[arr[i]] = true;
  }
  for (int i = 1; i <= N; i++)
    if (has[i] == false) myv.push_back(i);
  memset(has, false, sizeof(has));
  int j = 0;
  for (int i = 0; i < N; i++) {
    if (arr[i] <= N) {
      if (has[arr[i]] == true) {
        arr[i] = myv[j++];
      } else
        has[arr[i]] = true;
    } else
      arr[i] = myv[j++];
  }
  for (int i = 0; i < N; i++) cout << arr[i] << " ";
  cout << endl;
  return 0;
}
