var a:array[1..30010] of longint; c:array[5..200] of longint; i,j,k,n,w,t:longint; begin assign(input,'group.in'); reset(input); assign(output,'group.out'); rewrite(output); readln(w,n); fillchar(c,sizeof(c),0); for i:=1 to n do begin read(t); inc(c[t]); end; k:=0; for i:=200 downto 5 do for j:=1 to c[i] do begin inc(k); a[k]:=i; end; i:=1; j:=n; while(i<j) do begin if(a[i]+a[j]<=w) then dec(j); inc(i); end; writeln(j); close(input); close(output); end.