#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

char N[200200];
int Q[200200];
int n;
int L(int a)
{
    int sol = 0;
    int i=a-1;
    while(i>=0 && N[i]!=N[i+1]) {
        sol++;
        i--;
    }
    return sol;
}
int R(int a)
{
    int sol = 0;
    int i=a+1;
    while(i<n && N[i]!=N[i-1]) {
        sol++;
        i++;
    }
    return sol;
}

int test(int a)
{
    int LL = L(a);
    int RR = R(a);
    int sol =  L(a) + R(a) + 1;
    if (RR==0 && a+1<n) sol = max(sol, L(a+1) + R(a+1) + 1);
    if (LL==0 && a-1>0) sol = max(sol, L(a-1) + R(a-1) + 1);
    return sol;
}

int main()
{
    memset(N,-1,sizeof N);
    int q;
    scanf("%d%d", &n, &q);
    for (int i=0; i<q; i++) {
        scanf("%d", &Q[i]);
        N[Q[i]]*=-1;
        int sol = test(Q[i]);
        if (i>0)
        sol = max(sol, test(Q[i-1]));
        printf("%d\n", sol);
    }
}
