n,k=map(int,input().split()) dp=[[0]*(k+1) for i in range(n+1)] a=list(map(int,input().split()));dp[0][0]=1 for i in range(n): for j in range(k+1): dp[i+1][j]+=dp[i][j] if j+a[i]<=k: dp[i+1][j+a[i]]+=dp[i][j] ans=0;c=dp[n][k] if c==0: print(-1);exit() for i in range(k+1): dp[n][i]=0 dp[n][k]=1 for i in range(n-1,-1,-1): s=1 for j in range(k+1): if dp[i][j] and dp[i+1][j]: s=0 if dp[i][j]: if j+a[i]<=k and dp[i+1][j+a[i]] or dp[i+1][j]: dp[i][j]=1 else: dp[i][j]=0 ans+=s print(ans)