#14 #15 #16 AC,其余全WA
#include<bits/stdc++.h>
using namespace std;
int n,k,x,sum,cnt;
multiset<int>st;
int main(){
cin>>n>>k;
k=pow(2,k-1);
for(int i=1;i<=n;++i){
scanf("%d",&x);
st.insert(x);
}
while(1){
if(sum>=0){
auto p=st.upper_bound(-sum*2);
if(p==st.end())break;
++p;
sum+=*p;
if(sum>=k||sum<-k)break;
st.erase(p);
++cnt;
}
else{
auto p=st.lower_bound(-sum*2);
if(p==st.end())break;
sum+=*p;
if(sum>=k||sum<-k)break;
st.erase(p);
++cnt;
}
}
cout<<cnt;
return 0;
}