#include <bits/stdc++.h>
using namespace std;
int arr[1003], memo[1003][1003][2], n, m;
int solve(int ind, int sum, bool t) {
  if (t && sum % m == 0) return 1;
  if (ind == n) return 0;
  int &ret = memo[ind][sum][t];
  if (ret != -1) return ret;
  if (solve(ind + 1, (sum + arr[ind]) % m, 1) || solve(ind + 1, sum, t))
    return ret = 1;
  return ret = 0;
}
int main() {
  scanf("%d %d", &n, &m);
  if (n >= m) {
    int in;
    for (int i = 0; i < n; ++i) scanf("%d", &in);
    puts("YES");
    return 0;
  }
  for (int i = 0; i < n; ++i) {
    scanf("%d", arr + i);
    arr[i] %= m;
  }
  memset(memo, -1, sizeof(memo));
  puts((solve(0, 0, 0)) ? "YES" : "NO");
  return 0;
}
