k-сортировка
В этом году Гриша поступил в Университет ИТ. В Университете ИТ очень много новых предметов, интересных и не очень. Особенно Грише нравится предмет "Алгоритмы и структуры данных". На последней лекции были рассказаны алгоритмы сортировки. Гриша - очень амбициозный молодой человек и хочет изобрести свой алгоритм, который впоследствии будет назван именем его любимого дедушки. Вдохновившись чтением многотомника Кнута, Гриша решил модернизировать какой-нибудь уже существующий алгоритм сортировки натуральных чисел, наложив следующее ограничение. Любые два элемента можно менять местами, только если они сравнимы по модулю некоторого натурального числа k, то есть дают одинаковые остатки при делении на k. Но все инновационные методы требуют проверки, поэтому Гриша обратился за помощью к Вам!
Проверьте, сможет ли новая версия алгоритма отсортировать заданный массив натуральных чисел.
Входные данные
Первая строка входного файла содержит два числа n (1 ≤ n ≤ 1000) и k (1 ≤ k ≤ 10^9) - количество элементов в массиве и число, по модулю которого сравниваются элементы массива.
Вторая строка входного файла содержит n целых чисел a_i - элементы массива (1 ≤ a_i ≤ 10^9).
Выходные данные
В выходной файл выведите YES, если алгоритм сможет отсортировать заданный массив и NO - в обратном случае.