#include<bits/stdc++.h>
using namespace std;
int a[10005],n,i,t,ans,k,l,r,cnt;
priority_queue <int> q;
int main(){
cin>>t;
cin>>n;
for(i=0;i<n;i++){
cin>>k;
q.push(k);
}
i=n-1;
while(!q.empty()){
a[i]=q.top();
q.pop();
i--;
}
r=n-1;
cnt=n;
while(l!=r&&(r-l)!=1){
if((a[l]+a[r])<=t){
ans++;
l++;
r--;
cnt-=2;
} else{
r--;
ans++;
cnt-=1;
}
}
if(cnt) ans++;
cout<<ans;
return 0;
}
堆排序+双指针