N,K = map(int,input().split()) a = list(map(int,input().split())) a.sort() P = 10 ** 9 + 7 dp = [0] * (K+1) dp[0] = 1 for i in range(N): nx = [0] * (K + 1) for u in range(K+1): for j in range(i+1): if u + j <= K: nx[u+j] += dp[u] else: break for u in range(K+1): nx[u] %= P dp = nx ans = 0 for i in dp: ans = (ans + i) % P print(ans)