#include using namespace std; int n, x; int niza[105]; int dp[1000003]; int coins(int x_left) { if(x_left == 0) { return 0; } if(dp[x_left] != -1) { return dp[x_left]; } int result = 2e9; for(int i = 0; i < n; i++) { if(x_left - niza[i] >= 0) { result = min(result, coins(x_left - niza[i]) + 1); } } return dp[x_left] = result; } int main() { cin >> n >> x; for(int i = 0; i <= x; i++) { dp[i] = -1; } for(int i = 0; i < n; i++) { cin >> niza[i]; } if(coins(x) == 2e9) { cout << -1 << endl; } else cout << coins(x) << endl; return 0; }