#include <bits/stdc++.h> using namespace std; int main() { int n,aim; scanf("%d %d\n",&n,&aim); vector<int> dp(aim+1,INT_MAX-1); dp[0] = 0; for(int i=0;i<n;i++) { int item; scanf("%d",&item); for(int j=item;j<=aim;j++) dp[j] = min(dp[j],dp[j-item]+1); } printf("%d\n",dp[aim]==INT_MAX-1? -1:dp[aim]); return 0; }