#include <iostream>
#include <queue>
using namespace std;
int N, M;
priority_queue<int> q;
int main()
{
cin.tie(NULL);
cout.tie(NULL);
ios::sync_with_stdio(false);
cin >> N >> M;
for (int i = 0; i < N; i++)
{
int temp;
cin >> temp;
if (temp <= M)
{
q.push(temp);
}
}
int res = M;
int cnt = 0;
while (res !=0)
{
int tmp = q.top();
while (tmp <= res)
{
res -= tmp;
cnt += 1;
}
q.pop();
}
cout << cnt;
}