#include<iostream>
using namespace std;
int a[1000001],n,b,d=0;
int main()
{
cin >> n >> b;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - j - 1; j++)
{
if (a[j] > a[j + 1]) swap(a[j], a[j + 1]);
}
}
int c = 0;
for (int i =n-1; i >=0; i--)
{
c = c + a[i];
d++;
if (c >= b) break;
}
cout << d << endl;
return 0;
}