N, M = map(int, input().split())
nums = [0] * 105
input_values = input().split()
for i in range(N):
nums[i] = int(input_values[i])
def max_nums(N, M, nums):
dp = [[0] * (M + 1) for _ in range(N + 1)]
for i in range(1, N + 1):
for j in range(1,M + 1):
if(j == nums[i-1]):
dp[i][j] = dp[i-1][j] + 1
elif(j < nums[i-1]):
dp[i][j] = dp[i-1][j]
else:
dp[i][j] = dp[i-1][j] + dp[i-1][j-nums[i-1]]
return dp[N][M]
ans = max_nums(N, M, nums)
print(ans)