from collections import Counter
n, k = map(int, input().split())
a = list(map(int, input().split()))
dp1 = 1
res1 = [1] * (n + 1)
dp2 = 1 << k
res2 = [1 << k] * (n + 1)
mask = (1 << (k + 1)) - 1
for i in range(n):
    dp1 |= dp1 << a[i]
    dp1 &= mask
    dp2 |= dp2 >> a[n - i - 1]
    res1[i + 1] = dp1
    res2[n - i - 1] = dp2
ans = 0
for i in range(n):
    if res1[i] & res2[i + 1]:
        ans += 1
if res2[0] & 1:
    print(n - ans)
else:
    print(-1)