func_code_string: #include <bits/stdc++.h>   using namespace std;   const double pi = acos(-1.0);   const int inf = 0x3f3f3f3f;   const double eps = 1e-15;   const long long INF = (1LL << 60);   int cnt[1010];   int a[1010];   int M[1010];   int m;   int dp[1010][1010][2];   int main() {     int n, m, x;     scanf( %d%d , &n, &m);     memset(dp, 0, sizeof(dp));     memset(cnt, 0, sizeof(cnt));     for (int i = 1; i <= n; ++i) {       scanf( %d , &x);       x %= m;       ++cnt[x];     }     if (n > m) {       printf( YES n );       return 0;     }     dp[0][0][0] = 1;     for (int i = 0; i < m; ++i) {       for (int j = 0; j < m; ++j) {         if (dp[i][j][0]) {           dp[i + 1][j][0] = 1;         }         if (dp[i][j][1]) {           dp[i + 1][j][1] = 1;         }         for (int k = 1; k <= cnt[i]; ++k) {           if (dp[i][j][0] || dp[i][j][1]) {             dp[i + 1][(j + k * i) % m][1] = 1;           }         }       }     }     bool flag = dp[m][0][1];     puts(flag ?  YES  :  NO );     return 0;   }   