func_code_string: #include <bits/stdc++.h>   using namespace std;   const int M = 1e9 + 7;   int dx[] = {1, -1, 0, 0, 1, 1, -1, -1};   int dy[] = {0, 0, 1, -1, 1, -1, 1, -1};   int expo(int x, int y) {     int res = 1;     x = x % M;     while (y > 0) {       if (y & 1) res = (1ll * res * x) % M;       y = y >> 1;       x = (1ll * x * x) % M;     }     return res;   }   const int N = 1e3 + 5;   int n, m, a[1000005];   int dp[N][N];   int rec(int s, int mod) {     if (mod == 0) return 1;     if (s >= n) return 0;     if (dp[s][mod] != -1) return dp[s][mod];     dp[s][mod] = 0;     dp[s][mod] |= rec(s + 1, (mod - a[s] + m) % m);     dp[s][mod] |= rec(s + 1, mod);     return dp[s][mod];   }   signed main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     ;     int t = 1;     while (t--) {       cin >> n >> m;       for (int i = 0; i < n; i++) {         cin >> a[i];         a[i] %= m;       }       if (n > m) return cout <<  YES , 0;       memset(dp, -1, sizeof dp);       int chk = rec(0, m);       if (chk)         cout <<  YES ;       else         cout <<  NO ;     }     return 0;   }   