#include using namespace std; #define int long long #define all(v) (v).begin(), (v).end() #define bit(mask, i) (((mask) >> (i)) & 1) #define debug(x) #x << " = " << x typedef long long ll; typedef long double ld; mt19937 rng(7405); int Rand(int l, int r){ // rng() trả về một số bất kì if (l > r) return r; return abs((int)rng() % (r - l + 1)) + l; } const int N = 300 + 5; int n, a[N], k; signed main() { ios::sync_with_stdio(false); cin.tie(0); // freopen("input.inp", "r", stdin); // freopen("output.out", "w", stdout); cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; } cin >> k; int ans = 0; for (int it = 1; it <= 300; it++) { if (is_sorted(a + 1, a + n + 1)) { break; } // int r = Rand(1, (int)(n / k - 1)); for (int i = 1; i <= n; i++) { int imin = i, mn = 1e9; for (int j = i; j <= n; j += k) { if (a[j] < mn) { mn = a[j]; imin = j; } } if (a[i] > a[imin]) { swap(a[i], a[imin]); ans++; } } } if (!is_sorted(a + 1, a + n + 1)) { ans = -1; } cout << ans << '\n'; return 0; }