import sys

# for line in sys.stdin:
#     a = line.split()
#     print(int(a[0]) + int(a[1]))
# t= input().split()
# n = t[0]
# aim = t[1]
n, aim = map(int, input().split())
arr = list(map(int, input().split()))
f = [sys.maxsize]*(aim+1)
f[0] = 0
for i in range(n):
    # for j in range(aim,arr[i]-1,-1):
    for j in range(arr[i],aim+1):
        f[j] = min(f[j], f[j-arr[i]]+1)
print(f[-1] if f[-1]!=sys.maxsize else -1)
# if f[-1] != sys.maxsize else -1)


# n, aim = map(int, input().split())
# v = list(map(int, input().split()))
# dp = [sys.maxsize] * (aim + 1)
# dp[0] = 0
# for i in range(n):
#     for j in range(aim+1):
#         if j >= v[i]:
#             dp[j] = min(dp[j], dp[j-v[i]] + 1)
# print(dp[-1] if dp[-1] != sys.maxsize else -1)