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

#define ll long long
#define pb push_back
#define fori(a,b) for(int i=a;i<b;i++)
#define ford(b,a) for(int i=b;i>=a;i--)
typedef pair<int, int> pi;
#define PI 3.14159265359
long long mod=1000000007;
//int count=INT_MAX;

struct hash_pair { 
    template <class T1, class T2> 
    size_t operator()(const pair<T1, T2>& p) const
    { 
        auto hash1 = hash<T1>{}(p.first); 
        auto hash2 = hash<T2>{}(p.second); 
        return hash1 ^ hash2; 
    } 
};

// void solve(vector<int> a,vector<int> b,vector<int> add,vector<int> mult, int &ans,int t){
//     if(a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]){
//         ans=min(ans,t);
//     }
//     int d;
//     //for a[0]
//     d=add[0];
//     a[0]+=d;
//     add[0]-=d;
//     solve(a,b,add,mult,ans,t+1);
//     a[1]+=d;
//     add[1]-=d;




//     // vector<int> a1(3),vector<int> b1(3);
//     // fori(0,3){
//     //     int d=add[i];
//     //     //add to itself
//     //     a[i]+=d;
//     //     add[i]-=d;
//     //     solve(a,b,add,mult,ans,t+1);
        
//     // }
// }


int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int t=1;
    //cin>>t;
    //cout<<t;
    //scanf("%d",&t);
    while(t--){
        int n,x;
        cin>>x>>n;
        if(n==0){
            cout<<x<<endl;
            return 0;
        }
        vector<int> a(n);
        fori(0,n){
            cin>>a[i];
        }
        sort(a.begin(),a.end());
        int i=lower_bound(a.begin(),a.end(),x)-a.begin();
        if(i==n){
            cout<<x<<endl;
            return 0;
        }
        if(a[i]!=x){
            cout<<x<<endl;
            return 0;
        }
        int c=a[i];
        int diff=INT_MAX;
        for(int j=i;j<n;j++){
            if(a[j]!=c){
                break;
            }
            c++;
        }
        int ans;
        ans=c;
        diff=c-x;
        c=x;
        for(int j=i;j>=0;j--){
            if(a[j]!=c){
                break;
            }
            c--;
        }
        if(x-c<=diff){
            ans=c;
        }
        cout<<ans<<endl;
        // vector<int> a(3);
        // vector<int> b(3);
        // cin>>a[0]>>a[1]>>a[2]>>b[0]>>b[1]>>b[2];
        // int ans=3;
        // vector<int> add(3);
        // vector<int> mult(3);
        // fori(0,3){
        //     add[i]=b[i]-a[i];
        //     if(b[i]%a[i]==0){
        //         mult[i]=b[i]/a[i];
        //     }
        //     else{
        //         mult[i]=0;
        //     }
        // }
        // if(a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]){
        //     cout<<0<<endl;
        //     continue;
        // }
        // int t=0;
        // solve(a,b,add,mult,ans,t);
        // if(add[0]==add[1]&&add[1]==add[2]){
        //     cout<<1<<endl;
        //     continue;
        // }
        // if(mult[0]==mult[1]&&mult[1]==add[2]){
        //     cout<<1<<endl;
        //     continue;
        // }
        // if(a[1]==b[1]&&a[2]==b[2]){
        //     cout<<1<<endl;
        //     continue;
        // }
        // if(a[0]==b[0]&&a[2]==b[2]){
        //     cout<<1<<endl;
        //     continue;
        // }
        // if(a[1]==b[1]&&a[0]==b[0]){
        //     cout<<1<<endl;
        //     continue;
        // }

    }
    
    return 0;
}

Measured memory_bytes: 3648