#include #include #include int main() { int n, k; std::cin >> n >> k; std::vector v(n); for (int i = 0; i < n; i++) { std::cin >> v[i]; } std::vector sorted_v = v; std::sort(sorted_v.begin(), sorted_v.end()); long long ans = 0; for (int i = 0; i < v.size(); i++) { auto d = std::find(v.begin(), v.end(), sorted_v[i]) - v.begin(); if (d % k == i % k) { while (d != i) { std::swap(v[d - k], v[d]); d -= k; ans++; } } else { std::cout << -1 << std::endl; return 0; } } std::cout << ans << std::endl; return 0; }