func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int ara[1000005], n, m, dp[1005][1005];   long long int func(long long int i, long long int j) {     if ((j + ara[i]) % m == 0) {       return 1;     }     if (i >= n - 1) {       if ((j + ara[i]) % m == 0) {         return 1;       } else         return 0;     }     if (dp[i][j] != -1) {       return dp[i][j];     }     long long int p1 = 0, p2 = 0;     p1 = func(i + 1, (j + ara[i]) % m);     p2 = func(i + 1, j);     dp[i][j] = p1 | p2;     return dp[i][j];   }   int main() {     long long int i, k, sum = 0;     scanf( %I64d %I64d , &n, &m);     for (i = 0; i < n; i++) {       scanf( %I64d , &ara[i]);     }     if (n > m) {       printf( YES n );       return 0;     }     memset(dp, -1, sizeof dp);     k = func(0, 0);     if (k == 1) {       printf( YES n );     } else {       printf( NO n );     }     return 0;   }   