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