#include using namespace std; int n; int niza[105]; int memo[1000005]; const int MOD = 1000000007; int main() { int x; cin >> n >> x; for(int i = 0; i < n; i++) { cin >> niza[i]; } for(int i = 0; i <= x; i++) { memo[i] = 0; } memo[0] = 1; for(int sum = 0; sum <= x; sum++) { for(int i = 0; i < n; i++) { if(sum + niza[i] <= x) { memo[sum + niza[i]] += memo[sum]; memo[sum + niza[i]] %= MOD; } } } cout << memo[x] << endl; return 0; }