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 main():
    n, m = map(int, input().split(' '))
    a = list(map(int, input().split(' ')))
    a = [i % m for i in a]
    for i in a:
        if i == 0:
            print('YES')
            return
    s = set()
    for i in a:
        if m - i in s:
            print('YES')
            return
        add_list = list()
        s.add(i)
        for j in s:
            if (i + j) % m not in s:
                add_list.append((i + j) % m)
        for j in add_list:
            s.add(j)
    print('NO')
    return


main()