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)