func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int P;   long long int a[501];   long long int dp[501][501];   void solve() {     long long int n, m, b, P, i, j, k;     cin >> n >> m >> b >> P;     for (i = 1; i <= n; i++) {       cin >> a[i];     }     memset(dp, 0, sizeof(dp));     long long int ans = 0;     dp[0][0] = 1;     for (i = 1; i <= n; i++) {       for (j = 0; j < m; j++) {         for (k = 0; k + a[i] <= b; k++) {           dp[j + 1][k + a[i]] = (dp[j + 1][k + a[i]] + dp[j][k]) % P;         }       }     }     for (i = 0; i <= b; i++) {       ans += dp[m][i];       ans %= P;     }     cout << ans % P;   }   int main() {     long long int t = 1;     while (t--) {       solve();     }     return 0;   }   