import sys n, k = map(int, input().split()) a = list(map(int, input().split())) b = sorted(a) groups = [[] for _ in range(k)] # chia nhóm for i in range(n): groups[i % k].append(a[i]) # sort từng nhóm for i in range(k): groups[i].sort() # ghép lại new_a = [0]*n idx = [0]*k for i in range(n): g = i % k new_a[i] = groups[g][idx[g]] idx[g] += 1 # kiểm tra khả thi if new_a != b: print(-1) sys.exit() # đếm swap từng nhóm ans = 0 for i in range(k): arr = groups[i] # đếm swap tối thiểu để sort arr (cycle method) visited = [False]*len(arr) pos = sorted(range(len(arr)), key=lambda x: arr[x]) for j in range(len(arr)): if visited[j] or pos[j] == j: continue cycle = 0 x = j while not visited[x]: visited[x] = True x = pos[x] cycle += 1 if cycle > 1: ans += cycle - 1 print(ans)