MOD = 10**9 + 7
def count_teams(n, x, skills):
dp = [[0] * (x + 1) for _ in range(n + 1)]
dp[0][0] = 1
for i in range(1, n + 1):
for j in range(x + 1):
dp[i][j] = dp[i - 1][j]
if j >= skills[i - 1]:
dp[i][j] += dp[i - 1][j - skills[i - 1]]
dp[i][j] %= MOD
return dp[n][x]
n, x = map(int, input().split())
skills = list(map(int, input().split()))
print(count_teams(n, x, skills))
TU9EID0gMTAqKjkgKyA3CgpkZWYgY291bnRfdGVhbXMobiwgeCwgc2tpbGxzKToKICAgIGRwID0gW1swXSAqICh4ICsgMSkgZm9yIF8gaW4gcmFuZ2UobiArIDEpXQogICAgZHBbMF1bMF0gPSAxCgogICAgZm9yIGkgaW4gcmFuZ2UoMSwgbiArIDEpOgogICAgICAgIGZvciBqIGluIHJhbmdlKHggKyAxKToKICAgICAgICAgICAgZHBbaV1bal0gPSBkcFtpIC0gMV1bal0KICAgICAgICAgICAgaWYgaiA+PSBza2lsbHNbaSAtIDFdOgogICAgICAgICAgICAgICAgZHBbaV1bal0gKz0gZHBbaSAtIDFdW2ogLSBza2lsbHNbaSAtIDFdXQogICAgICAgICAgICBkcFtpXVtqXSAlPSBNT0QKCiAgICByZXR1cm4gZHBbbl1beF0KCm4sIHggPSBtYXAoaW50LCBpbnB1dCgpLnNwbGl0KCkpCnNraWxscyA9IGxpc3QobWFwKGludCwgaW5wdXQoKS5zcGxpdCgpKSkKcHJpbnQoY291bnRfdGVhbXMobiwgeCwgc2tpbGxzKSkK