Олимпиадный тренинг

Задача . B. Сумма по модулю


Дана последовательность чисел a1, a2, ..., an, а также число m.

Проверьте, можно ли выбрать непустую подпоследовательность aij такую, что сумма чисел в этой подпоследовательности делится на m.

Входные данные

В первой строке даны два числа n и m (1 ≤ n ≤ 106, 2 ≤ m ≤ 103) — размер исходной последовательности и число, от деления на которое берётся остаток у суммы.

Во второй строке даны n чисел a1, a2, ..., an (0 ≤ ai ≤ 109).

Выходные данные

В единственной строке выведите «YES» (без кавычек) в случае, если существует требуемая подпоследовательность, либо «NO» (без кавычек), если такой подпоследовательности не существует.

Примечание

В первом тесте из условия можно выбрать числа 2 и 3, сумма которых делится на 5.

Во втором тесте из условия, единственная непустая подпоследовательность чисел — одно число 5. Число 5 не делится на 6, стало быть, искомой подпоследовательности не существует.

В третьем тесте из условия нужно выбрать два числа 3 на концах.

В четвертом тесте из условия можно взять целиком всю последовательность.


Примеры
Входные данныеВыходные данные
1 3 5
1 2 3
YES
2 1 6
5
NO
3 4 6
3 1 1 3
YES
4 6 6
5 5 5 5 5 5
YES

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя