n,m = map(int, input().split())
lt = []
f = [[0 for _ in range(m+1)] for _ in range(n)]
for _ in range(n):
a = int(input())
lt.append(a)
for i in range(n):
for j in range(m+1):
if i == 0 and j % lt[i] == 0: # 边界条件
f[i][j] = 1
else:
f[i][j] = f[i-1][j]
if j >= lt[i]:
k = j - lt[i]
while k>=0:
f[i][j] += f[i-1][k]
k -= lt[i]
print(f[n-1][m])