K-cортування#2498

K-cортування

1 секунда
128 мегабайтів
Дуже легка

Сортування полягає в упорядкуванні заданого масиву чисел (або інших об'єктів) у зростаючому або спадному порядку. Існує багато варіацій цієї задачі, для яких існують дуже ефективні алгоритми. Важливим параметром цих алгоритмів є кількість перестановок, необхідних для сортування елементів масиву.

У цій задачі розглядаємо варіант, який називається -сортуванням. У -сортуванні ви можете виконати -перестановку, тобто обміняти значення двох елементів масиву, індекси яких відрізняються рівно на . Наприклад, розглянемо масив [, , , , ] при k = 3. Цей масив можна впорядкувати за зростанням за допомогою двох таких операцій: після першої перестановки масив стане [, , , , ]; після другої перестановки — [, , , , ].

Задано масив цілих чисел a_1, a_2, \ldots, a_n. Ваше завдання — визначити мінімальну кількість -перестановок, необхідних для сортування цього масиву за неспаданням.

Вхідні дані

Перший рядок містить ціле число (1 \leq n \leq 300).

Другий рядок містить цілих чисел a_1, a_2, \ldots, a_n (1 \leq a_i \leq 10^9 для всіх від до ).

Третій рядок містить ціле число (1 \leq k \leq n - 1).

Вихідні дані

Якщо масив можна впорядкувати за неспаданням за допомогою описаних операцій, виведіть мінімальну кількість -перестановок, необхідних для цього. Інакше виведіть .

Приклади

Приклад 1

Loading
Loading