from atcoder.fenwicktree import FenwickTree N, K = map(int, input().split()) A = list(map(int, input().split())) arrs = [[] for _ in range(K)] for i, a in enumerate(A): if a%K != (i+1)%K: print(-1) exit() arrs[i%K].append([a, i]) ans = [] def rotate(A): ft = FenwickTree(N+1) for a, i in A: ft.add(a, 1) ct = ft.sum(a+1, N+1) for c in range(ct): ans.append([i-K*(c+1) , i-K*c]) for arr in arrs: rotate(arr) print(len(ans)) # print(ans) for i, j in ans: print(f"{i+1} {j+1}")