#include <bits/stdc++.h>
using namespace std;
static long long int r, j, l, x, y, b, m, n, s, q, i, z, p, k, c, d, t;
string s1, s2, s3, s4, st1, st2;
long long int a[1000009];
unordered_map<long long int, long long int> dp;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k;
  for (long long int i = 1; i < n + 1; i++) {
    cin >> a[i];
    a[i] %= k;
  }
  for (long long int i = 1; i < n + 1; i++) {
    if (a[i] == 0) {
      cout << "YES";
      return 0;
    }
    if (dp[k - a[i]] > 0) {
      cout << "YES";
      return 0;
    }
    unordered_map<long long int, long long int> temp;
    for (auto x : dp) {
      if (x.second > 0) temp[(a[i] + x.first) % k]++;
    }
    for (auto x : temp) {
      dp[x.first]++;
    }
    dp[a[i]]++;
  }
  cout << "NO";
}
