#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<int> A(n, 0);
  vector<int> mk(100005, 0);
  for (int i = 0; i < n; i++) {
    cin >> A[i];
    mk[A[i]] = 1;
  }
  set<int> st;
  for (int i = 0; i < 100005; i++)
    if (!mk[i]) st.insert(i);
  vector<int> ans(n, 0);
  for (int i = 0; i < n - 1; i++) {
    if (A[i] != A[i + 1]) {
      ans[i] = *st.begin();
      st.insert(A[i]);
    } else
      ans[i] = *st.begin();
    st.erase(st.find(ans[i]));
  }
  ans[n - 1] = *st.begin();
  for (int i = 0; i < n; i++) cout << ans[i] << " ";
  cout << endl;
  return 0;
}
