eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

k-сортування

k-сортування

У цьому році Грицько вступив до Університету ІТ. В Університеті ІТ дуже багато нових предметів, ціквих і не дуже. Особливо Грицьку подобається предмет "Алгоритми та структури даних". На останній лекції розповіли про алгоритми сортування. Грицько - дуже амбіційна молода людина і хоче винійти свій алгоритм, який потім буде названо іменем його любимого дідуся. Натхнений читанням багатотомника Кнута, Грицько вирішив модернізувати якийсь вже існуючий алгоритм сортування натуральних чисел, наклавши наступні обмеження. Довільні два елементи можна міняти місцями, лише якщо вони порівняні по модулю деякого натурального числа \textbf{k}, тобто дають однакові залишки при діленні на \textbf{k}. Але усі інноваційні методи вимагають перевірки, тому Грицько звернувся за допомогою до Вас! Перевірте, чи зможе нова версія алгоритму відсортувати заданий масив натуральних чисел. \InputFile Перший рядок вхідного файлу містить два числа \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{1000}) і \textbf{k} (\textbf{1} ≤ \textbf{k} ≤ \textbf{10^9}) - кількість елементів у масиві і число, по модулю якого порівнюються елементи масиву. Другий рядок вхідного файлу містить \textbf{n} цілих чисел \textbf{a_i} - елементи масиву (\textbf{1} ≤ \textbf{a_i} ≤ \textbf{10^9}). \OutputFile У вихідний файл виведіть \textbf{YES}, якщо алгоритм зможе відсорувати заданий масив і \textbf{NO} - у протилежному випадку.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
5 2
5 4 3 2 1
Вихідні дані #1
YES
Автор П.Кротков, А.Малова
Джерело Четвертая олимпиада, Базовый уровень. 12 ноября 2011 года.