#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]={0,};
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+PmFbaV07CglpbnQgZHBbbSsxXT17MCx9OwoJZm9yKGludCBpPTA7IGk8bjsgaSsrKXsKCQlmb3IoaW50IGo9bS1hW2ldOyBqPj0wOyBqLS0pewoJCQlpZihkcFtqXT4wIGFuZCAKCQkJKGRwW2orYVtpXV0+ZHBbal0rMSBvcgoJCQlkcFtqK2FbaV1dPT0wKSkKCQkJZHBbaithW2ldXT1kcFtqXSsxOwoJCX0KCQlkcFthW2ldXT0xOwp9Cgljb3V0PDxkcFttXTsKCXJldHVybiAwOwp9