#include <iostream>
#include <algorithm>
using namespace std;
int partition(int arr[], int low, int high)
{
int pivot = arr[high];
int i = (low - 1);
for (int j = low; j < high; j++)
{
if (arr[j] <= pivot)
{
i++;
swap(arr[i], arr[j]);
}
}
swap(arr[i + 1], arr[high]);
return (i + 1);
}
void quickSort(int arr[], int low, int high)
{
if (low < high)
{
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
void find_x(int* a, int n)
{
if (n == 0) cout << 0;
int max_value = 0;
for (int i = 0; i < n; i++)
{
if (a[0] == a[i])
{
a[0] = a[0] + 1;
}
else if (a[0] != a[i])
{
cout << a[0] << endl;
break;
}
}
}
int main()
{
int n; cin >> n;
int* a = new int[n];
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
quickSort(a, 0, n - 1);
find_x(a, n);
delete[]a;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHBhcnRpdGlvbihpbnQgYXJyW10sIGludCBsb3csIGludCBoaWdoKQp7CiAgICBpbnQgcGl2b3QgPSBhcnJbaGlnaF07CiAgICBpbnQgaSA9IChsb3cgLSAxKTsKCiAgICBmb3IgKGludCBqID0gbG93OyBqIDwgaGlnaDsgaisrKQogICAgewoKICAgICAgICBpZiAoYXJyW2pdIDw9IHBpdm90KQogICAgICAgIHsKICAgICAgICAgICAgaSsrOwogICAgICAgICAgICBzd2FwKGFycltpXSwgYXJyW2pdKTsKICAgICAgICB9CiAgICB9CiAgICBzd2FwKGFycltpICsgMV0sIGFycltoaWdoXSk7CiAgICByZXR1cm4gKGkgKyAxKTsKfQoKdm9pZCBxdWlja1NvcnQoaW50IGFycltdLCBpbnQgbG93LCBpbnQgaGlnaCkKewogICAgaWYgKGxvdyA8IGhpZ2gpCiAgICB7CiAgICAgICAgaW50IHBpID0gcGFydGl0aW9uKGFyciwgbG93LCBoaWdoKTsKICAgICAgICBxdWlja1NvcnQoYXJyLCBsb3csIHBpIC0gMSk7CiAgICAgICAgcXVpY2tTb3J0KGFyciwgcGkgKyAxLCBoaWdoKTsKICAgIH0KfQp2b2lkIGZpbmRfeChpbnQqIGEsIGludCBuKQp7CiAgICBpZiAobiA9PSAwKSBjb3V0IDw8IDA7CiAgICBpbnQgbWF4X3ZhbHVlID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgICAKICAgICAgICBpZiAoYVswXSA9PSBhW2ldKQogICAgICAgIHsKICAgICAgICAgICAgYVswXSA9IGFbMF0gKyAxOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBlbHNlIGlmIChhWzBdICE9IGFbaV0pCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IGFbMF0gPDwgZW5kbDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgCiAgICAgIAoKCiAgICB9Cn0KCgppbnQgbWFpbigpCnsKICAgIGludCBuOyBjaW4gPj4gbjsKICAgIGludCogYSA9IG5ldyBpbnRbbl07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KICAgIHF1aWNrU29ydChhLCAwLCBuIC0gMSk7CiAgICAKICAgIGZpbmRfeChhLCBuKTsKICAgIGRlbGV0ZVtdYTsKICAgIHJldHVybiAwOwp9