N,W = map(int,input().split()) a = list(map(int,input().split())) ans = 0 score = 0 cnd_list = [] cnd = [] def dfs(x): global score,ans,cnd,cnd_list if score == W: cnd_list.append(tuple(cnd)) ans += 1 if x == N: return if score > W: return dfs(x+1) score += a[x]//2 cnd.append(x) dfs(x+1) cnd.remove(x) score -= a[x]//2 score += a[x] cnd.append(x) dfs(x+1) cnd.remove(x) score -= a[x] return dfs(0) ans = set(cnd_list) if tuple() in ans: ans.remove(tuple()) print(len(ans))