#include <bits/stdc++.h>
using namespace std;
int T[300000 * 4];
void add(int l, int r, int rt, int x) {
  T[rt]++;
  if (l == r) return;
  if ((l + r) / 2 >= x) {
    add(l, (l + r) / 2, rt << 1, x);
  } else {
    add((l + r) / 2 + 1, r, rt << 1 | 1, x);
  }
}
int query(int l, int r, int rt, int L, int R) {
  if (l >= L && r <= R) return T[rt];
  int sum = 0;
  if ((l + r) / 2 >= L) sum += query(l, (l + r) / 2, rt << 1, L, R);
  if ((l + r) / 2 + 1 <= R) sum += query((l + r) / 2 + 1, r, rt << 1 | 1, L, R);
  return sum;
}
int a[300010];
int p[300010];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  printf("1 ");
  int res = 1;
  int pos = n;
  for (int i = 1; i <= n; i++) {
    p[a[i]] = 1;
    add(1, n, 1, a[i]);
    while (p[pos] != 0) {
      pos--;
    }
    if (pos == 0) {
      res = 1;
    } else {
      res = query(1, n, 1, 1, pos) + 1;
    }
    printf("%d ", res);
  }
  return 0;
}
