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)