#include using namespace std; const int MAXK = 100000; using Line = bitset<2 * MAXK + 1>; int main() { int N, K; cin >> N >> K; vector A(N); for (int &x : A) cin >> x; Line ans; ans.set(0); for (int x : A) ans |= ans << x; if (!ans[K]) { cout << -1 << endl; return 0; } int ret = 0; for (int x : A) if (!ans[K + x]) ++ret; cout << ret << endl; }