'use strict';

function Main(input) {
    let tmp = input.trim().split('\n');
    const XN = tmp[0].split(' ');
    const X = Number(XN[0]);
    const N = Number(XN[1]);
    // console.log(X, N)

    // N === 0 の場合
    if (N === 0) {
        console.log(String(X));
        return;
    }

    let P = tmp[1].split(' ').map(v => Number(v)).sort((a, b) => a - b);

    
    // Xが配列に含まれない場合
    if (!P.includes(X)) {
        console.log(String(X));
        return;
    }

    const xIndex = P.indexOf(X);
    if (xIndex === 0) {
        console.log(String(X - 1));
        return;
    }

    // 小さい方
    let min = X - 1;
    while (1) {
        if (!P.includes(min)) {
            break;
        }
        min--;
    }
    // 大きい方
    let max = X + 1;
    while(1) {
        if (!P.includes(max)) {
            break;
        }
        max++;
    }
    
    if (max - X >= X - min) {
        console.log(String(min))
    } else {
        console.log(String(max))
    }
    return;

}
Main(require('fs').readFileSync('/dev/stdin', 'utf8'));

// Main(`6 5
// 4 7 10 6 5`);
// Main(`10 5
// 4 7 10 6 5`);
// Main(`100 0
// `);
