1์์ผ๋ก 10์์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํด๋ณด์. ์ฒ์์ 1์์ด ์์ ๊ฒ์ด๋ค. 1์์ผ๋ก 1์์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ํ ๊ฐ์ง๋ค. ๊ทธ๋ ๋ค๋ฉด 1์์ผ๋ก 2์์ ๋ง๋๋ ๋ฐฉ๋ฒ์? 1์์๋ค๊ฐ 1์์ ๋ํ๋ ๋ฐฉ๋ฒ ํ ๊ฐ์ง๋ค. ๊ทธ๋ ๋ค๋ฉด 1์์ผ๋ก 3์์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ช ๊ฐ์ง์ผ๊น. ๋ง์ฐฌ๊ฐ์ง๋ก 2์์ ๋ง๋๋ ๋ฐฉ๋ฒ์ 1์์ ๋ํ๋ ๋ฐฉ๋ฒ ํ ๊ฐ์ง๋ค. n์์ผ๋ก k์์ผ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ n์์ผ๋ก k-1์์ ๋ง๋๋ ๋ฐฉ๋ฒ๊ณผ ๊ฐ์ ์ ์ด๋ค.
๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ๋๋์ด ์์ ๋ฌธ์ ์ ํด๊ฒฐ๋ฒ์ผ๋ก ํฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ ํ์ด ๋ฐฉ์์ด๋ค. 10์์ ๋ง๋ค ์ ์๋ ๊ฐ์ง์๋ ๊ทธ๋ณด๋ค ์์ k์์ ๋ง๋๋ ๋ฐฉ๋ฒ๋ค์ ๊ฐ์ง์๋ฅผ ํตํด์ ๊ตฌํ ์ ์๋ค.
์ ํ์์ ๋ค์๊ณผ ๊ฐ๋ค. ๋์ n๋ ์ฌ๋ฌ๊ฐ์ง์ด๋ฏ๋ก ๋์ ์ผ๋ก ๋ํด๋๊ฐ์ผ ํ๋ค.
dp[k] += dp[k-n]
# ๋์ 1
n, k = map(int, input().split())
coins = [int(input()) for _ in range(n)]
dp = [0]*(k+1)
for i in range(n):
coin = coins[i]
if coin > k:
continue
dp[coin] += 1
for j in range(coin+1, k+1):
dp[j] += dp[j-coin]
print(dp[k])