#include <bits/stdc++.h>
using namespace std;
queue<int> q;
int a[200005], flag[200005];
int main(void) {
  int n, i;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    if (a[i] <= n) flag[a[i]] = 1;
  }
  for (i = 1; i <= n; i++) {
    if (flag[i] == 0) q.push(i);
    flag[i] = 0;
  }
  for (i = 1; i <= n; i++) {
    if (a[i] >= n + 1 || flag[a[i]]) {
      a[i] = q.front();
      q.pop();
    }
    flag[a[i]] = 1;
  }
  for (i = 1; i <= n; i++) printf("%d ", a[i]);
  puts("");
  return 0;
}
