var
        n,i,q,k,max,j:integer;
        x:array [1..200000] of integer;
        s:array [1..200000] of string;
begin
        read (n); readln (q);
        for i:=1 to q do readln(x[i]);
        for i:=1 to n do s[i]:='L';
        for j:=1 to q do
        for i:=1 to n do begin
          if i=x[j] then begin
          if s[i]='R' then s[i]:='L' else s[i]:='R';
          if ((s[i-1]='L') or (s[i-1]=' ')) and (s[i]='R') and (s[i+1]='L') then begin
           if i mod 2=0 then begin
                while (((i+k) mod 2=0) and (s[i+k]='R')) or (((i+k) mod 2=1) and (s[i+k]='L')) do begin
                 inc (k);
                 end;
                 if max<k then max:=k;
                 k:=0;
                while (((i+k) mod 2=0) and (s[i+k]='L')) or (((i+k) mod 2=1) and (s[i+k]='R')) do begin
                inc (k);
                end;
                if max<k then max:=k;
                k:=0;
                end;
                end;
           if i mod 2=1 then begin
                while (((i+k) mod 2=0) and (s[i+k]='R')) or (((i+k) mod 2=1) and (s[i+k]='L')) do begin
                 inc (k);
                 end;
                 if max<k then max:=k;
                 k:=0;
                while (((i+k) mod 2=0) and (s[i+k]='L')) or (((i+k) mod 2=1) and (s[i+k]='R')) do begin
                inc (k);
                end;
                if max<k then max:=k;
                k:=0;
                end;
                end else
                if i mod 2=0 then begin
                while (((i+k) mod 2=0) and (s[i+k]='L')) or (((i+k) mod 2=1) and (s[i+k]='R')) do begin
                 inc (k);
                 end;
                 if max<k then max:=k;
                 k:=0;
                while (((i+k) mod 2=0) and (s[i+k]='R')) or (((i+k) mod 2=1) and (s[i+k]='L')) do begin
                inc (k);
                end;
                if max<k then max:=k;
                k:=0;
                writeln (max);
                end;
                end;
           if i mod 2=1 then begin
                while (((i+k) mod 2=0) and (s[i+k]='R')) or (((i+k) mod 2=1) and (s[i+k]='L')) do begin
                 inc (k);
                 end;
                 if max<k then max:=k;
                 k:=0;
                while (((i+k) mod 2=0) and (s[i+k]='L')) or (((i+k) mod 2=1) and (s[i+k]='R')) do begin
                inc (k);
                end;
                if max<k then max:=k;
                k:=0;
                writeln (max);
                end;
         readln;
end.








