#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; }