/*
题目不难,题中的知识点是:
sort对基本类型从大到小排序的写法,可见:
https://www.cnblogs.com/CAOYR/p/5463423.html
*/
#include <iostream>
#include <algorithm>
#include <functional>
#define rep(i, k, n) for (int i = k; i < (n); i++)
using namespace std;
const int N = 1e2 + 10;
int n, m, a[N];
int main()
{
cin >> n >> m;
rep(i, 0, n) cin >> a[i];
sort(a, a + n, greater<int>());
int cnt = 0;
rep(i, 0, n)
{
if (m > 0)
{
m -= a[i];
cnt++;
}
}
cout << cnt << endl;
return 0;
}