/*
Cred : SunnyYeahBoi
It's my last chance (⌐■_■)
Problem :
*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define endl "\n"
#define NAME "a"
const int MAXN = 1e6 + 5;
const int inf = 1e18;
const int MOD = 1e9 + 7;
void FileInput(){
if(fopen(NAME".inp" , "r") == NULL)
freopen(NAME".inp" , "w" , stdout);
freopen(NAME".inp" , "r" , stdin);
freopen(NAME".out" , "w" , stdout);
}
/*
Y/c: tìm số nguyên dương nhỏ nhất chưa xuất hiện trong mảng
Brute Force:
thử với mọi số nguyên x, kiểm tra xem x có tồn tại trong mảng hay không
for(int x = 1 ; x <= n + 1 ; x++){
bool flag = false;
for(int i = 1 ; i <= n ; i++){
if(a[i] == x) flag = true;
}
if(flag == false){
cout << x << endl;
break;
}
}
AC:
*/
int n;
int a[MAXN];
void bruteforce(){
for(int x = 1 ; x <= n + 1 ; x++){
bool flag = false;
for(int i = 1 ; i <= n ; i++){
if(a[i] == x) flag = true;
}
if(flag == false){
cout << x << endl;
break;
}
}
}
void solve(){
cin >> n;
for(int i = 1 ; i <= n ; i++)
cin >> a[i];
sort(a + 1 , a + 1 + n);
int t = 1;
bool flag = false;
for(int i = 1 ; i <= n ; i++){
if(a[i] < t) continue;
if(a[i] == t){
t++;
}else if(a[i] > t){
flag = true;
cout << t << endl;
break;
}
}
if(flag == false) cout << n + 1 << endl;
}
int32_t main(){
FileInput();
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
while(t--)
solve();
return 0;
}
LyoKICAgIENyZWQgOiBTdW5ueVllYWhCb2kKICAgIEl0J3MgbXkgbGFzdCBjaGFuY2UgKOKMkOKWoF/ilqApCiAgICBQcm9ibGVtIDoKKi8KCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgZG91YmxlIGxvbmcgZG91YmxlCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgTkFNRSAiYSIKCmNvbnN0IGludCBNQVhOID0gMWU2ICsgNTsKY29uc3QgaW50IGluZiA9IDFlMTg7CmNvbnN0IGludCBNT0QgPSAxZTkgKyA3OwoKdm9pZCBGaWxlSW5wdXQoKXsKICAgIGlmKGZvcGVuKE5BTUUiLmlucCIgLCAiciIpID09IE5VTEwpCiAgICAgICAgZnJlb3BlbihOQU1FIi5pbnAiICwgInciICwgc3Rkb3V0KTsKICAgIGZyZW9wZW4oTkFNRSIuaW5wIiAsICJyIiAsIHN0ZGluKTsKICAgIGZyZW9wZW4oTkFNRSIub3V0IiAsICJ3IiAsIHN0ZG91dCk7Cn0KCi8qCiAgICBZL2M6IHTDrG0gc+G7kSBuZ3V5w6puIGTGsMahbmcgbmjhu48gbmjhuqV0IGNoxrBhIHh14bqldCBoaeG7h24gdHJvbmcgbeG6o25nIAoKICAgIEJydXRlIEZvcmNlOgogICAgICAgIHRo4butIHbhu5tpIG3hu41pIHPhu5Egbmd1ecOqbiB4LCBraeG7g20gdHJhIHhlbSB4IGPDsyB04buTbiB04bqhaSB0cm9uZyBt4bqjbmcgaGF5IGtow7RuZwogICAgICAgIGZvcihpbnQgeCA9IDEgOyB4IDw9IG4gKyAxIDsgeCsrKXsKCiAgICAgICAgICAgIGJvb2wgZmxhZyA9IGZhbHNlOwogICAgICAgICAgICBmb3IoaW50IGkgPSAxIDsgaSA8PSBuIDsgaSsrKXsKICAgICAgICAgICAgICAgIGlmKGFbaV0gPT0geCkgZmxhZyA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoZmxhZyA9PSBmYWxzZSl7CiAgICAgICAgICAgICAgICBjb3V0IDw8IHggPDwgZW5kbDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICBBQzoKCiovCgppbnQgbjsKaW50IGFbTUFYTl07Cgp2b2lkIGJydXRlZm9yY2UoKXsKICAgIGZvcihpbnQgeCA9IDEgOyB4IDw9IG4gKyAxIDsgeCsrKXsKICAgICAgICBib29sIGZsYWcgPSBmYWxzZTsKICAgICAgICBmb3IoaW50IGkgPSAxIDsgaSA8PSBuIDsgaSsrKXsKICAgICAgICAgICAgaWYoYVtpXSA9PSB4KSBmbGFnID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgaWYoZmxhZyA9PSBmYWxzZSl7CiAgICAgICAgICAgIGNvdXQgPDwgeCA8PCBlbmRsOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgc29sdmUoKXsKICAgIGNpbiA+PiBuOwogICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKykKICAgICAgICBjaW4gPj4gYVtpXTsKCiAgICBzb3J0KGEgKyAxICwgYSArIDEgKyBuKTsKCiAgICBpbnQgdCA9IDE7CiAgICBib29sIGZsYWcgPSBmYWxzZTsKICAgIGZvcihpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspewogICAgICAgIGlmKGFbaV0gPCB0KSBjb250aW51ZTsKICAgICAgICBpZihhW2ldID09IHQpewogICAgICAgICAgICB0Kys7CiAgICAgICAgfWVsc2UgaWYoYVtpXSA+IHQpewogICAgICAgICAgICBmbGFnID0gdHJ1ZTsKICAgICAgICAgICAgY291dCA8PCB0IDw8IGVuZGw7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KICAgIAogICAgaWYoZmxhZyA9PSBmYWxzZSkgY291dCA8PCBuICsgMSA8PCBlbmRsOwp9CgppbnQzMl90IG1haW4oKXsKICAgIEZpbGVJbnB1dCgpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSh0LS0pCiAgICAgICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9Cg==