void main(){
	int x,n;
	bool[int] p;
	readf("%d %d\n", &x, &n);
	foreach(elm; _scanln()){
		p[elm] = true;
	}
	int min = 100000; // ある整数とansの差
	int ans = 101 
	
	foreach(i; 1..101){
		if(min > abs(i-x) && !p.get(i, false)){
			min = abs(i-x);
			ans = i;
		}
	}
	writeln(ans);
}

import std.stdio, std.conv, std.algorithm, std.numeric, std.string, std.math;

// 1要素のみの入力
T _scan(T= int)(){
	return to!(T)( readln().chomp() );
}

// 1行に同一型の複数入力
T[] _scanln(T = int)(){
	T[] ln;
	foreach(string elm; readln().chomp().split()){
		ln ~= elm.to!T();
	}
	return ln;
}
