#include <bits/stdc++.h>
using namespace std;
int f[303030];
void add(int x) {
  while (x < 303030) {
    f[x]++;
    x += (x & -x);
  }
}
int query(int x) {
  int tot = 0;
  while (x > 0) {
    tot += f[x];
    x -= (x & -x);
  }
  return tot + 1;
}
int ans[303030];
set<int> st;
void solve() {
  int n;
  scanf("%d", &n);
  int id = 1;
  ans[id++] = 1;
  for (int i = 1; i <= n; i++) st.insert(i);
  for (int i = 1; i <= n; i++) {
    int e;
    scanf("%d", &e);
    add(e);
    st.erase(e);
    if (st.size()) {
      int x = *(st.rbegin());
      ans[id++] = query(x);
    } else
      ans[id++] = 1;
  }
  for (int i = 1; i < id; i++) printf("%d%c", ans[i], i == id - 1 ? '\n' : ' ');
}
signed main() { solve(); }
