CSES - Shared codeLink to this code: https://cses.fi/paste/31230c66ef9748da1b55f0/
#include<iostream>
#include<vector>
#define ll long long
ll mod = 1e9+7;
using namespace std;

int main(){
    ll n,k;
    cin>>n>>k;

    ll *a = new ll[n];

    for(ll i = 0;i<n;i++){
        cin>>a[i];
    }

    vector<ll> dp(k+1,0);
    dp[0] = 1;

    for(ll i = 0;i<n;i++){
        for(ll j = 1;j<=k;j++){
            if((j- a[i])>=0){
                dp[j] = (dp[j] + dp[j-a[i]]);
                dp[j]%=mod;
            }
        }
    }

    cout<<dp[k];
    return 0;
}