func_code_string: #include <bits/stdc++.h>   using namespace std;   const string nameFiles =   ;   void error(vector<string>::iterator) {}   template <typename T, typename... Args>   void error(vector<string>::iterator cur_var, T a, Args... args) {     cerr << cur_var->substr((*cur_var)[0] ==    ) <<   =   << a << endl;     error(++cur_var, args...);   }   vector<string> split(string const& str, char c) {     vector<string> res;     stringstream ss(str);     string x;     while (getline(ss, x, c)) res.emplace_back(x);     return move(res);   }   int main() {     if (!nameFiles.empty()) {       freopen((nameFiles +  .in ).c_str(),  r , stdin);       freopen((nameFiles +  .out ).c_str(),  w , stdout);     }     int n, m;     cin >> n >> m;     vector<int> a(n);     unordered_set<int> mod;     for (int i = 0; i < n; ++i) {       cin >> a[i];       a[i] %= m;       if (a[i] == 0) {         cout <<  YES  << endl;         return 0;       }     }     for (int i = 0; i < n; ++i) {       vector<int> ttt;       for (int x : mod) {         int temp = (x + a[i]) % m;         if (temp == 0) {           cout <<  YES  << endl;           return 0;         }         ttt.push_back(temp);       }       mod.insert(ttt.begin(), ttt.end());       mod.insert(a[i]);     }     cout <<  NO  << endl;     return 0;   }   