#include <bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
int n; //钱的种类
int w; //目的钱数
int num; //最少货币的数量
int a[10001] = {0}; //钱的面值
int f[100001] = {0};
int minn(int w){
int min = inf;
for(int j = 0,i = a[j];i<=w;j++,i = a[j]){
if(i == 0){
break;
}
if(f[w-i]<min){
min = f[w-i];
}
}
return min;
}
void nname(){
for(int j = a[0];j<w;j++){
f[j+1] = minn(j+1) + 1;
}
}
int main(){
cin>>n>>w;
for(int i = 0;i<n;i++){
cin>>a[i];
}
f[a[0]] = 1;
nname();
cout<<f[w];
return 0;
}