// Coin Combinations II #include using namespace std; using ll = long long; const int MOD = 1e9 + 7; ll dp[(int)1e6 + 1]; int main() { dp[0] = 1; int n, x; cin >> n >> x; for (int i{}; i < n; i++) { int c; cin >> c; for (int j = c; j <= x; j++) { dp[j] += dp[j-c]; dp[j] %= MOD; } } cout << dp[x] << endl; return 0; }