#include<stdio.h>
#define N 20010
int a[N];
void quick_sort(int a[],int l,int r)
{
if (l>=r)
return ;
int mid=a[(l+r)/2],i=l-1,j=r+1,t;
while (i<j)
{
do i++;while (a[i]>mid);
do j--;while (a[j]<mid);
if (i<j);
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
quick_sort(a,l,j);
quick_sort(a,j+1,r);
}
int main()
{
int n,i,len,s=0;
scanf("%d %d",&n,&len);
for (i=0;i<n;i++)
scanf("%d",&a[i]);
quick_sort(a,0,n-1);
for (i=0;i<n;i++)
{
s+=a[i];
if (s>=len)
{
printf ("%d",i+1);
break;
}
}
return 0;
}