#include <bits/stdc++.h>
using namespace std;
inline long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
inline long long power(long long a, long long n, long long m) {
  if (n == 0) return 1;
  long long p = power(a, n / 2, m);
  p = (p * p) % m;
  if (n % 2)
    return (p * a) % m;
  else
    return p;
}
const long long MOD = 1000000007;
long long int n, m;
int32_t main() {
  std::ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  cin >> n >> m;
  long long int arr[n];
  for (long long int i = 0; i < n; i++) {
    cin >> arr[i];
    arr[i] %= m;
  }
  if (n > m) {
    cout << "YES";
    return 0;
  }
  long long int dp[n][m];
  memset(dp, 0, sizeof(dp));
  dp[0][arr[0]] = 1;
  for (long long int i = 1; i < n; i++) {
    dp[i][arr[i]] = 1;
    for (long long int j = 0; j < m; j++) {
      if (dp[i - 1][j]) {
        dp[i][j] = dp[i - 1][j];
        long long int t = arr[i] + j;
        t %= m;
        dp[i][t] = dp[i - 1][j];
      }
    }
  }
  if (dp[n - 1][0]) {
    cout << "YES";
  } else {
    cout << "NO";
  }
  return 0;
}
