#include <bits/stdc++.h>
using namespace std;
int n, m, T[1000005];
bool memo[1001][1001], done[1001][1001];
int fix(int x) { return (x % m); }
bool solve(int indx, int mod) {
  if (mod % m == 0) return true;
  if (indx == n) return false;
  if (done[indx][mod]) return memo[indx][mod];
  bool &ans = memo[indx][mod];
  if (mod == -1)
    ans = solve(indx + 1, T[indx] % m) || solve(indx + 1, mod);
  else
    ans = (solve(indx + 1, fix(mod + T[indx])) || solve(indx + 1, mod));
  done[indx][mod] = true;
  return ans;
}
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 0; i < n; i++) scanf("%d", &T[i]);
  if (n > m)
    printf("YES");
  else {
    if (solve(0, -1))
      printf("YES");
    else
      printf("NO");
  }
  return 0;
}
