N, K = map(int, input().split()) A = list(map(int, input().split())) M = N * (N - 1)//2 + 5 mod = 10 ** 9 + 7 pre = [0] * M pre[0] = 1 for i in range(2, N + 1): dp = [0] * M ndp = [0] * M for k in range(M): if pre[k] == 0: break dp[k] += pre[k] dp[k+i] -= pre[k] dp[k] %= mod dp[k+i] %= mod ndp[0] = dp[0] for k in range(1, M): ndp[k] = ndp[k - 1] + dp[k] ndp[k] %= mod pre, ndp = ndp, pre ans = 0 for k in range(K + 1): ans += pre[k] ans %= mod print(ans)