#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;
}