#include <bits/stdc++.h>
using namespace std;
struct _ {
  ios_base::Init i;
  _() { ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL); }
} _;
int n, m;
vector<int> a;
int main() {
  cin >> n >> m;
  a.resize(n);
  for (int i = 0; i <= n - 1; i++) cin >> a[i], a[i] %= m;
  unordered_map<int, bool> dp;
  for (int i = 0; i <= n - 1; i++) {
    unordered_map<int, bool> new_dp = dp;
    new_dp[a[i]] = true;
    if (new_dp[0]) {
      cout << "YES";
      return 0;
    }
    for (auto [md, flg] : dp) {
      new_dp[(md + a[i]) % m] = true;
      if (new_dp[0]) {
        cout << "YES";
        return 0;
      }
    }
    dp = new_dp;
  }
  cout << "NO";
  return 0;
}
