#include<stdio.h>
#include<string.h>
#include<math.h>
/* 値を入れ替える関数 */
void swap (int *x, int *y) {
  int temp;    // 値を一時保存する変数

  temp = *x;
  *x = *y;
  *y = temp;
}

/***
* pivotを決め、
* 全データをpivotを境目に振り分け、
* pivotの添え字を返す
***/
int partition (int array[], int left, int right) {
  int i, j, pivot;
  i = left;
  j = right + 1;
  pivot = left;   // 先頭要素をpivotとする

  do {
    do { i++; } while (array[i] < array[pivot]);
    do { j--; } while (array[pivot] < array[j]);
    // pivotより小さいものを左へ、大きいものを右へ
    if (i < j) { swap(&array[i], &array[j]); }
  } while (i < j);

  swap(&array[pivot], &array[j]);   //pivotを更新

  return j;
}

/* クイックソート */
void quick_sort (int array[], int left, int right) {
  int pivot;

  if (left < right) {
    pivot = partition(array, left, right);
    quick_sort(array, left, pivot-1);   // pivotを境に再帰的にクイックソート
    quick_sort(array, pivot+1, right);
  }
}

int main(void){
  int X,N,p[101],ans=0;
  scanf("%d %d",&X,&N);
  for(int i=0;i<N;i++){
    scanf("%d",&p[i]);
  }
  quick_sort(p,0,N-1);
  if(N==0){
    ans=X;
  }else if(N==1){
    if(X>p[0]){
      if(X-1!=p[0]){
        ans=X-1;
      }else{
        ans=X+1;
      }
    }else{
      if(X+1!=p[0]){
        ans=X+1;
      }else{
        ans=X-1;
      }
    }
  }else{
  for(int i=0;i<N-1;i++){
    if(p[i+1]-p[i]==1){

    }else{
      if(X<p[i]){
        ans=p[i]+1;
      }else{
        ans=p[i+1]-1;
      }
    }
  }
  }
  printf("%d",ans);

   return 0;
}
