You are given a sequence of numbers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub>, and a number *m*.

Check if it is possible to choose a non-empty subsequence *a*<sub class="lower-index">*i*<sub class="lower-index">*j*</sub></sub> such that the sum of numbers in this subsequence is divisible by *m*.
The first line contains two numbers, *n* and *m* (1 ≤ *n* ≤ 10<sup class="upper-index">6</sup>, 2 ≤ *m* ≤ 10<sup class="upper-index">3</sup>) — the size of the original sequence and the number such that sum should be divisible by it.

The second line contains *n* integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> (0 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>).
def solve(i,tot):
  if tot % m == 0 and i != -1:
    return True

  if i == n-1:
    return False

  if dp[i] == -1:
    for nxt in range(i+1,n):
      if solve(nxt,tot+a[nxt]):
        dp[i] = True
        return dp[i]

    dp[i] = False
  
  return dp[i]
  
    


n,m = map(int,input().split(" "))

dp = [-1] * n

a = list(map(int,input().split(" ")))


if solve(-1,0):
  print("YES")
else:
  print("NO")
