N,W = map(int,input().split()) a = list(map(int,input().split())) ans = 0 s = set() def dfs(w,i,n): global ans,s if i>=N: if w==W and n not in s: ans+=1 s.add(n) else: if w>W or i>=N:return dfs(w+a[i],i+1,n|2**i) dfs(w,i+1,n) dfs(w+a[i]//2,i+1,n|2**i) dfs(0,0,0) print(ans)