#include <bits/stdc++.h>
using namespace std;
#define ll long long int
const int M = 1e9 + 7;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
vector<int> v(n);
for (int i = 0; i < n; i++)
cin >> v[i];
unordered_map<int, int> suffix;
for (int i = n - 1; i >= 0; i--)
{
suffix[v[i]]++;
}
int cnt = 0;
unordered_set<int> prefix;
vector<int> ans;
for (int i = 0; i < n; i++)
{
prefix.insert(v[i]);
while (prefix.find(cnt) != prefix.end())
cnt++;
if (suffix.find(cnt) == suffix.end())
{
if (i == n - 1)
break;
ans.push_back(cnt);
prefix.clear();
cnt = 0;
}
suffix[v[i]]--;
if (suffix[v[i]] == 0)
suffix.erase(v[i]);
}
ans.push_back(cnt);
for (auto it : ans)
cout << it << " ";
return 0;
}
// 9
// 2 2 3 4 0 1 2 0 0
// 15
// 0 1 2 3 0 1 2 3 4 0 1 2 0 2 1
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nIGludApjb25zdCBpbnQgTSA9IDFlOSArIDc7CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICB2ZWN0b3I8aW50PiB2KG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgY2luID4+IHZbaV07CiAgICB1bm9yZGVyZWRfbWFwPGludCwgaW50PiBzdWZmaXg7CiAgICBmb3IgKGludCBpID0gbiAtIDE7IGkgPj0gMDsgaS0tKQogICAgewogICAgICAgIHN1ZmZpeFt2W2ldXSsrOwogICAgfQogICAgaW50IGNudCA9IDA7CiAgICB1bm9yZGVyZWRfc2V0PGludD4gcHJlZml4OwogICAgdmVjdG9yPGludD4gYW5zOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgcHJlZml4Lmluc2VydCh2W2ldKTsKICAgICAgICB3aGlsZSAocHJlZml4LmZpbmQoY250KSAhPSBwcmVmaXguZW5kKCkpCiAgICAgICAgICAgIGNudCsrOwogICAgICAgIGlmIChzdWZmaXguZmluZChjbnQpID09IHN1ZmZpeC5lbmQoKSkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChpID09IG4gLSAxKQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGFucy5wdXNoX2JhY2soY250KTsKICAgICAgICAgICAgcHJlZml4LmNsZWFyKCk7CiAgICAgICAgICAgIGNudCA9IDA7CiAgICAgICAgfQogICAgICAgIHN1ZmZpeFt2W2ldXS0tOwogICAgICAgIGlmIChzdWZmaXhbdltpXV0gPT0gMCkKICAgICAgICAgICAgc3VmZml4LmVyYXNlKHZbaV0pOwogICAgfQogICAgYW5zLnB1c2hfYmFjayhjbnQpOwoKICAgIGZvciAoYXV0byBpdCA6IGFucykKICAgICAgICBjb3V0IDw8IGl0IDw8ICIgIjsKICAgIHJldHVybiAwOwp9CgoKCi8vIDkKLy8gMiAyIDMgNCAwIDEgMiAwIDAKCi8vIDE1Ci8vIDAgMSAyIDMgMCAxIDIgMyA0IDAgMSAyIDAgMiAxCgo=