#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline bool chkmin(T &a, const T &b) {
  return a > b ? a = b, 1 : 0;
}
template <typename T>
inline bool chkmax(T &a, const T &b) {
  return a < b ? a = b, 1 : 0;
}
const int oo = 0x3f3f3f3f;
const int max0 = 19;
const int maxn = 300100;
int n;
int fen[maxn + 5];
int Max;
int main() {
  scanf("%d", &n);
  printf("1");
  for (int i = (1), i_end_ = (n + 1); i < i_end_; ++i) {
    int first;
    scanf("%d", &first);
    for (int j = first; j <= n; j += j & -j) ++fen[j];
    int l = 0, r = n;
    while (l < r) {
      int mid = (l + r) >> 1;
      int sum = 0;
      for (int j = mid; j > 0; j -= j & -j) sum += fen[j];
      if (n - mid == i - sum)
        r = mid;
      else
        l = mid + 1;
    }
    printf(" %d", i - (n - l) + 1);
  }
  return 0;
}
