#include<bits/stdc++.h>
using namespace std;
#define INF 10000000000
long long dp[1000001] = {INF}, x;
int n, coins[100];
bool checked[1000001] = {false};
long long solve(long long x){
long long ans = INF;
if(x<0) return INF;
else if(checked[x]) return dp[x];
else{
for(int i=0;i<n;i++){
ans = min(ans, solve(x-coins[i])+1);
}
dp[x] = ans;
checked[x] = true;
return ans;
}
}
int main(){
cin>>n>>x;
for(int i=0;i<n;i++) cin>>coins[i], dp[coins[i]]=1, checked[coins[i]]=true;
long long ans = solve(x);
if(ans==INF) cout<<-1;
else cout<<ans;
}