#include #include #include using namespace std; const long long MOD = 1000000007; int dp[110][10010]; int main(){ int n,k;cin>>n>>k; vector A(n); for(int i = 0; n > i; i++){ cin>>A[i]; A[i]-=k; } sort(A.begin(), A.end(), greater()); dp[0][0] = 1; for(int i = 0; n > i; i++){ for(int j = 0; 10000 >= j; j++){ if(j+A[i] >= 0)dp[i+1][j+A[i]] = (dp[i+1][j+A[i]]+dp[i][j])%MOD; dp[i+1][j] = (dp[i+1][j]+dp[i][j])%MOD; } } long long ans = MOD - 1; for(int i = 0; 10000 >= i; i++){ ans = (ans+dp[n][i])%MOD; } cout << ans << endl; }