#include <bits/stdc++.h>
using namespace std;
int n, k, m, s[200010], a[200010], t[200010], p[200010];
bool c[200010];
int main() {
  scanf("%d", &n);
  memset(c, true, sizeof(c));
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    s[a[i]]++;
  }
  for (int i = n; i >= 1; i--) {
    if (s[i] == 0) k++, t[k] = i;
  }
  printf("%d\n", k);
  for (int i = 1; i <= n; i++) {
    if (i > 1) printf(" ");
    if (s[a[i]] > 1) {
      if (a[i] < t[k] && c[a[i]])
        printf("%d", a[i]), c[a[i]] = false;
      else {
        printf("%d", t[k]);
        k--;
        s[a[i]]--;
      }
    } else
      printf("%d", a[i]);
  }
  return 0;
}
