#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <cassert>
using namespace std;

#define REP(i, n) for(int i=0;i<(int)n;i++)
typedef vector<int> vi;

int T, n, m;

int main(){
	cin >> n;
	vi d(n);
	set<int> s;
	REP(i, n){
		cin >> d[i];
		s.insert(d[i]);
	}
	REP(i, n-1){
		s.insert(d[i] * 10 + d[i+1]);
	}
	REP(i, n-3){
		s.insert(d[i] * 1000 + d[i+1] * 100 + d[i+2] * 10 + d[i+3]);
	}
	REP(i, n-2){
		s.insert(d[i] * 100 + d[i+1] * 10 + d[i+2]);
	}
	for(int i=0;;i++){
		if(s.count(i) == 0){
			cout << i << endl;
			return 0;
		}
	}
	assert(false);
	return 0;
}