#include <bits/stdc++.h>
using namespace std;
int dp[1010];
int tmp[1010];
int a[1000010];
int main() {
  int n, m, i, j;
  while (scanf("%d%d", &n, &m) != EOF) {
    memset(dp, 0, sizeof(dp));
    memset(a, 0, sizeof(a));
    for (i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
    }
    for (i = 1; i <= n; i++) {
      if (dp[0]) break;
      for (j = 0; j < m; j++) {
        if (dp[j]) tmp[(j + a[i]) % m] = 1;
      }
      tmp[a[i] % m] = 1;
      for (j = 0; j < m; j++) dp[j] = tmp[j];
    }
    if (dp[0])
      printf("YES\n");
    else
      printf("NO\n");
  }
}
