#include #include #include #include #include #include #include #include #include using namespace std; #define ll long long int #define tlll tuple #define pii pair tlll params[200]; int main() { int n, k; cin >> n >> k; vector vs(n); for(int i = 0;i < n;i++) { ll v; cin >> v; vs[i] = make_pair(v, i); } sort(vs.begin(), vs.end()); vector vss(n); for(int i = 0;i < n;i++) { vss[vs[i].second] = i; } vector> tokens(k); for(int i = 0;i < n;i++) { if((vss[i] % k) != (i % k)) { cout << -1 << endl; return 0; } tokens[i%k].push_back(vss[i]); } ll count = 0; for(auto& e : tokens) { for(int i = e.size() - 1;i >= 0;i--) { for(int j = e.size() - 1;j >= 0;j--) { int k = j - 1; if(k >= 0) { if(e[k] > e[j]) { swap(e[k], e[j]); count++; } } } } } cout << count << endl; return 0; }