k-сортировка

시간 제한2초메모리 제한1024 MB

요약
배열과 정수 k가 주어질 때, k로 나눈 나머지가 같은 원소끼리만 교환할 수 있다는 조건에서 배열을 정렬할 수 있는지 판별한다.
난이도

쉬움10점 중 3점

유형
정렬, 해시맵, 배열
정답자
아직 제출이 없습니다

문제

В этом году Гриша поступил в Университет ИТ. В Университете ИТ очень много новых предметов, интересных и не очень. Особенно Грише нравится предмет <<Алгоритмы и структуры данных>>. На последней лекции были рассказаны алгоритмы сортировки. Гриша --- очень амбициозный молодой человек и хочет изобрести свой алгоритм, который впоследствии будет назван именем его любимого дедушки. Вдохновившись чтением многотомника Кнута, Гриша решил модернизировать какой-нибудь уже существующий алгоритм сортировки натуральных чисел, наложив следующее ограничение. Любые два элемента можно менять местами, только если они сравнимы по модулю некоторого натурального числа kk, то есть дают одинаковые остатки при делении на kk. Но все инновационные методы требуют проверки, поэтому Гриша обратился за помощью к Вам!

Проверьте, сможет ли новая версия алгоритма отсортировать заданный массив натуральных чисел.

입력

Первая строка входного файла содержит два числа nn (1≤n≤10001 \le n \le 1000) и kk (1≤k≤1091 \le k \le 10^9) --- количество элементов в массиве и число, по модулю которого сравниваются элементы массива.

Вторая строка входного файла содержит nn целых чисел a_ia\_i --- элементы массива (1≤a_i≤1091 \le a\_i \le 10^9).

출력

В выходной файл выведите <<YES>>, если алгоритм сможет отсортировать заданный массив и <<NO>> --- в обратном случае.

예제2

  1. 예제 1

    입력
    5 2
    5 4 3 2 1
    
    예상 출력
    YES
    
  2. 예제 2

    입력
    3 2
    2 3 1
    
    예상 출력
    NO