#include<bits/stdc++.h>
using namespace std;

int main(){
  int N;cin>>N;
  vector<int> P(N);
  for(int i=0;i<N;i++) cin>>P.at(i);
  
  int ans=0;
  set<int> X;
  for(int i=0;i<N;i++){
    if(!X.count(P.at(i))) X.insert(P.at(i));
    if(ans==P.at(i)) while(X.count(ans)) ans++;
    cout<<ans<<endl;
  }
}
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;

int main(void) {
	int N;
	cin >> N;
	int A[100000];
	pair<int, int> a(0, -1), b(0, -1);
	for (int i = 0; i < pow(2, N); i++) {
		cin >> A[i];
		if (i < pow(2, N) / 2) {
			if (A[i] > a.first) {
				a.first = A[i];
				a.second = i + 1;
			}
		} else {
			if (A[i] > b.first) {
				b.first = A[i];
				b.second = i + 1;
			}
		}
		// cout << a.second << " " << b.second << endl;
	}
	if (a.first > b.first) cout << b.second << endl;
	else cout << a.second << endl;

	return 0;
}