import sys from collections import defaultdict, deque n, k = map(int, input().split()) a = list(map(int, input().split())) b = sorted(a) # lưu tất cả vị trí của từng giá trị trong b pos = defaultdict(deque) for i in range(n): pos[b[i]].append(i) # xây permutation perm = [-1] * n for i in range(n): val = a[i] if not pos[val]: print(-1) sys.exit() # tìm vị trí phù hợp cùng mod k found = False for _ in range(len(pos[val])): candidate = pos[val][0] if candidate % k == i % k: perm[i] = candidate pos[val].popleft() found = True break else: pos[val].rotate(-1) if not found: print(-1) sys.exit() # đếm cycle visited = [False]*n ans = 0 for i in range(n): if visited[i]: continue cycle = 0 j = i while not visited[j]: visited[j] = True j = perm[j] cycle += 1 if cycle > 1: ans += cycle - 1 print(ans)