#include<bits/stdc++.h>
using namespace std;
int n, m, a[21], h, k,s=0;
vector<int>v;
void nb(int x) {
if (s >= k) {
return;
}
if (x > n) {
k =min(k, s);
return;
}
for (int i = 0; i < v.size();i++) {
if (v[i] + a[x] <= m) {
v[i] += a[x];
nb(x + 1);
v[i] -= a[x];
}
}
v.push_back(a[x]);
s++;
nb(x + 1);
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
k = n;
nb(1);
cout << k;
return 0;
}