#include <iostream>
using namespace std;
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
int n, k, *val, *total;
cin >> n >> k;
total = new int[k];
for (int i = 0; i < k; i++)
total[i] = 0;
val = new int[n];
for (int i = 0; i < n; i++)
{
cin >> val[i];
total[val[i] - 1] = 1;
}
for (int i = 0; i < k; i++)
{
if (!total[i])
{
int min = 1000000;
for (int j = 0; j < n; j++)
{
if (val[j] <= i && total[i - val[j]] < min)
min = total[i - val[j]];
if (min == 1)
break;
}
total[i] = min + 1;
}
}
if (total[k - 1] > 1000000)
cout << -1;
else
cout << total[k - 1];
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewoJY2luLnRpZShOVUxMKTsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJaW50IG4sIGssICp2YWwsICp0b3RhbDsKCWNpbiA+PiBuID4+IGs7Cgl0b3RhbCA9IG5ldyBpbnRba107Cglmb3IgKGludCBpID0gMDsgaSA8IGs7IGkrKykKCQl0b3RhbFtpXSA9IDA7Cgl2YWwgPSBuZXcgaW50W25dOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgl7CgkJY2luID4+IHZhbFtpXTsKCQl0b3RhbFt2YWxbaV0gLSAxXSA9IDE7Cgl9Cglmb3IgKGludCBpID0gMDsgaSA8IGs7IGkrKykKCXsKCQlpZiAoIXRvdGFsW2ldKQoJCXsKCQkJaW50IG1pbiA9IDEwMDAwMDA7CgkJCWZvciAoaW50IGogPSAwOyBqIDwgbjsgaisrKQoJCQl7CgkJCQlpZiAodmFsW2pdIDw9IGkgJiYgdG90YWxbaSAtIHZhbFtqXV0gPCBtaW4pCgkJCQkJbWluID0gdG90YWxbaSAtIHZhbFtqXV07CgkJCQlpZiAobWluID09IDEpCgkJCQkJYnJlYWs7CgkJCX0KCQkJdG90YWxbaV0gPSBtaW4gKyAxOwoJCX0KCX0KCWlmICh0b3RhbFtrIC0gMV0gPiAxMDAwMDAwKQoJCWNvdXQgPDwgLTE7CgllbHNlCgkJY291dCA8PCB0b3RhbFtrIC0gMV07Cn0=