""" dp[i][j] = i人いて、合計がj点の選び方 100*100*100 """ N,K = map(int,input().split()) A = list(map(int,input().split())) ans = 0 mod = 10**9+7 dp = [ [0] * (N*100+1) for i in range(N+1) ] dp[0][0] = 1 for a in A: for i in range(N-1,-1,-1): for j in range(N*100+1): if j+a < N*100+1: dp[i+1][j+a] += dp[i][j] dp[i+1][j+a] %= mod for i in range(1,N+1): for j in range(N*100+1): if i*K <= j: ans += dp[i][j] print (ans % mod)