#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int Mod=1e9+7;
const ll INF = 10000000000000;
const int N = 1e6+1;
void solve() {
ll n,x;
cin >> n >> x;
vector<int> a(n+1);
for(int i=1;i<=n;i++) cin >> a[i];
vector<ll> dp(N,INF);
for(int i=1;i<=n;i++) dp[a[i]]=1;
for(int i=1;i<N;++i){
for(int j=1;j<=n;j++){
if(dp[i]!=INF){
dp[i+a[j]]=min(dp[i+a[j]],dp[i]+1);
}
}
}
if(dp[x]==INF) cout << -1;
else cout << dp[x];
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
/*int t;
cin >> t;
while (t--)*/ solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTW9kPTFlOSs3Owpjb25zdCBsbCBJTkYgPSAxMDAwMDAwMDAwMDAwMDsKY29uc3QgaW50IE4gPSAxZTYrMTsKCnZvaWQgc29sdmUoKSB7CiAgIGxsIG4seDsKICAgY2luID4+IG4gPj4geDsKICAgdmVjdG9yPGludD4gYShuKzEpOwogICBmb3IoaW50IGk9MTtpPD1uO2krKykgY2luID4+IGFbaV07CiAgIHZlY3RvcjxsbD4gZHAoTixJTkYpOwogICBmb3IoaW50IGk9MTtpPD1uO2krKykgZHBbYVtpXV09MTsKICAgZm9yKGludCBpPTE7aTxOOysraSl7CiAgICAgIGZvcihpbnQgaj0xO2o8PW47aisrKXsKICAgICAgICBpZihkcFtpXSE9SU5GKXsKICAgICAgICAgICAgZHBbaSthW2pdXT1taW4oZHBbaSthW2pdXSxkcFtpXSsxKTsKICAgICAgICB9CiAgICAgIH0KICAgfQogICBpZihkcFt4XT09SU5GKSBjb3V0IDw8IC0xOwogICBlbHNlIGNvdXQgPDwgZHBbeF07Cn0gICAgICAgCgppbnQgbWFpbigpeyAKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgkKICAgIC8qaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pKi8gc29sdmUoKTsKICAgIAoKICAgIHJldHVybiAwOwp9Cg==