#include <bits/stdc++.h>
using namespace std;
int a[1000007], dp[1007][1007], flag, mod, n;
int rec(int pos, int sum, int cnt) {
  if (pos >= n) {
    if (sum == 0 and cnt > 0)
      return 1;
    else
      return 0;
  }
  if (dp[pos][sum] != -1) {
    return dp[pos][sum];
  }
  dp[pos][sum] =
      rec(pos + 1, (a[pos] + sum) % mod, cnt + 1) | rec(pos + 1, sum, cnt);
  return dp[pos][sum];
}
int main() {
  cin >> n >> mod;
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    a[i] = a[i] % mod;
    if (a[i] == 0) flag = 1;
  }
  if (n > mod || flag) {
    cout << "YES" << endl;
    return 0;
  }
  memset(dp, -1, sizeof(dp));
  if (rec(0, 0, 0))
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
  return 0;
}
