만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

k-정렬

면접 대비

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

요약
배열과 k가 주어질 때, 나머지가 같은 원소끼리만 교환하여 배열을 정렬할 수 있는지 판별합니다.
난이도

쉬움10점 중 3점

유형
정렬, 구현
정답자
아직 제출이 없습니다

문제

올해 그리샤는 IT 대학교에 입학했다. 이 대학에는 새로운 과목이 아주 많은데, 흥미로운 과목도 있고 그렇지 않은 과목도 있다. 그리샤는 특히 알고리즘과 자료 구조 과목을 좋아한다. 마지막 강의에서는 정렬 알고리즘을 배웠다.

그리샤는 야심 찬 청년이라 직접 정렬 알고리즘을 만들어 돌아가신 할아버지의 이름을 붙이고 싶어 한다. 크누스의 다권짜리 책에서 영감을 얻은 그리샤는 자연수를 정렬하는 기존 알고리즘 하나를 다음 제약을 걸어 개선하기로 했다. 두 원소는 어떤 자연수 kk로 나눈 나머지가 같을 때에만 서로 바꿀 수 있다.

새 알고리즘이 주어진 자연수 배열을 정렬할 수 있는지 확인하라.

입력

첫 줄에 두 정수 nn (1≤n≤10001 \le n \le 1000)과 kk (1≤k≤1091 \le k \le 10^9)가 주어진다. nn은 배열의 원소 개수이고, kk는 원소를 비교할 때 기준이 되는 모듈러 값이다.

둘째 줄에는 배열의 원소 aia_i가 nn개 주어진다 (1≤ai≤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