rt,77pts
#include<bits/stdc++.h>
using namespace std;
int n,w,ans,c[20],sum[20];
void dfs(int u,int v){
if(v>=ans) return;
if(u==n){ans=v;return;}
for(int i=1;i<=v;i++){
if(sum[i]+c[u]<=w){
sum[i]+=c[u];
dfs(u+1,v);
sum[i]-=c[u];
}
}
sum[v+1]=c[u];
dfs(u+1,v+1);
sum[v+1]=0;
}
int main(){
ios::sync_with_stdio(NULL);
cin.tie(0);cout.tie(0);
cin>>n>>w;ans=n;
for(int i=1;i<=n;i++) cin>>c[i];
sort(c+1,c+n+1,greater<int>());
dfs(1,1);cout<<ans;
return 0;
}