#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
using namespace std;
struct Node{
int x,y;
}*node;
bool cmp(Node n1,Node n2){
return n1.y<n2.y;
}
int main(){
int i,t,n,pre,count,sum;
node = new Node[50005];
scanf("%d%d",&t,&n);
for(i=0;i<n;i++){
scanf("%d",&node[i].x);
node[i].y = abs(node[i].x);
}
sort(node,node+n,cmp);
sum = 0;
count = 0;
if(t>=node[0].y){
count++;
sum += node[0].y;
pre = 0;
for(i=1;i<n;i++){
if(node[pre].x*node[i].x<0){
sum += node[pre].y+node[i].y;
}
else{
sum += node[i].y-node[pre].y;
}
if(sum>t){
break;
}
else{
count++;
pre = i;
}
}
printf("%d\n",count);
}
else{
printf("0\n");
}
return 0;
}