let x, n;
const p = [];

function getMin() {
	for (var i = x; p[0] <= i; i--) {
		if (-1 === p.indexOf(i)) {
			return i;
		}
	}
	return p[0] - 1;
}

function getMax() {
	for (i = x; i <= p[n-1]; i++) {
		if (-1 === p.indexOf(i)) {
			return i;
		}
	}
	return p[n-1]+1;
}

// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	const inputLines = input.split("\n");
	const line0 = inputLines[0];
	const line0vars = line0.split(" ");
	const line1 = inputLines[1];
	const line1vars = line1.split(" ");

	x = parseInt(line0vars[0], 10);
	n = parseInt(line0vars[1], 10);
	
	if (n === 0) {
		console.log(x);
		return;
	}

	for (var i = 0; i < n; i++) {
		p.push(parseInt(line1vars[i], 10));
	}
	p.sort((a, b) => a - b);

	const myMin = getMin();
	const myMax = getMax();
	const absMin = Math.abs(myMin - x);
	const absMax = Math.abs(myMax - x);
	// console.log({
	// 	myMin: myMin,
	// 	myMax: myMax,
	// 	absMin: absMin,
	// 	absMax: absMax
	// });
	console.log((absMin <= absMax) ? myMin : myMax);
	

	// tmp = input[1].split(" ");
	// //文字列から10進数に変換するときはparseIntを使います
	// var a = parseInt(input[0], 10);
	// var b = parseInt(tmp[0], 10);
	// var c = parseInt(tmp[1], 10);
	// var s = input[2];

	//出力
	// console.log('%d %s',a+b+c,s);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

// node index.js
// 1
// 2 3
// test
// (Ctrl + D)
