#include <bits/stdc++.h>
using namespace std;
int toNumber(string s) {
  int Number;
  if (!(istringstream(s) >> Number)) Number = 0;
  return Number;
}
string toString(int number) {
  ostringstream ostr;
  ostr << number;
  return ostr.str();
}
long long ele(long long a, long long b) {
  if (b == 0) return 1;
  if (b % 2 == 0) {
    return ele((a * a), b / 2);
  } else {
    return a * ele((a * a), b / 2);
  }
}
long long mcd(long long a, long long b) {
  if (a == 0) return b;
  return mcd(b % a, a);
}
double d_abs(long a, long b) {
  if (a > b) {
    return a - b;
  }
  return b - a;
}
void solve() {
  int n;
  cin >> n;
  cout << "1 ";
  int tengo[n + 1];
  for (int i = 0; i < (int)(n); i++) tengo[i] = 0;
  tengo[n] = 1;
  int ind = n;
  int voy = 1;
  for (int i = 0; i < (int)(n); i++) {
    int p;
    cin >> p;
    p--;
    tengo[p] = 1;
    if (p == ind - 1) {
      voy--;
      ind--;
      while (ind >= 1 && tengo[ind - 1]) {
        voy--;
        ind--;
      }
      voy = i + 1 - (n - ind) + 1;
      cout << voy << " ";
    } else {
      voy++;
      cout << voy << " ";
    }
  }
  cout << endl;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int T;
  T = 1;
  while (T--) {
    solve();
  }
}
