#include <iostream>
using namespace std;
int main() {
int n, m;
cin>>n>>m;
int a[n];
for (int i=0; i<n; i++)
cin>>a[i];
int dp[m+1]={};
for(int i=0; i<n; i++){
for(int j=m-a[i]; j>=0; j--){
if(dp[j]>0 and
(dp[j+a[i]]>dp[j]+1 or
dp[j+a[i]]==0))
dp[j+a[i]]=dp[j]+1;
}
dp[a[i]]=1;
}
cout<<dp[m];
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgbiwgbTsKCWNpbj4+bj4+bTsKCWludCBhW25dOwoJZm9yIChpbnQgaT0wOyBpPG47IGkrKykKCQljaW4+PmFbaV07CglpbnQgZHBbbSsxXT17fTsKCWZvcihpbnQgaT0wOyBpPG47IGkrKyl7CgkJZm9yKGludCBqPW0tYVtpXTsgaj49MDsgai0tKXsKCQkJaWYoZHBbal0+MCBhbmQgCgkJCShkcFtqK2FbaV1dPmRwW2pdKzEgb3IKCQkJZHBbaithW2ldXT09MCkpCgkJCWRwW2orYVtpXV09ZHBbal0rMTsKCQl9CgkJZHBbYVtpXV09MTsKfQoJY291dDw8ZHBbbV07CglyZXR1cm4gMDsKfQ==