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>).
import sys
input = sys.stdin.readline
n,m = map(int,input().split())
a = list(map(int,input().split()))
pre = [0 for _ in range(m)]
li = []
def fun(i :int):
    if pre[i] == 0:
        li.append(i)
        pre[i] = 1
        
for i in a:
    
    for j in li:
        fun((i+j)%m)
    
    fun(i%m)
    
    if(pre[0] == 1):
        break

print("YES" if pre[0]==1 else "NO")