import sys n, k = map(int, input().split()) a = list(map(int, input().split())) b = sorted(a) ans = 0 for i in range(k): group_a = [] group_b = [] j = i while j < n: group_a.append(a[j]) group_b.append(b[j]) j += k if sorted(group_a) != sorted(group_b): print(-1) sys.exit() # đếm số swap tối thiểu pos = {v: idx for idx, v in enumerate(group_b)} visited = [False] * len(group_a) for j in range(len(group_a)): if visited[j] or pos[group_a[j]] == j: continue cycle = 0 x = j while not visited[x]: visited[x] = True x = pos[group_a[x]] cycle += 1 if cycle > 1: ans += cycle - 1 print(ans)