class BIT: def query(self, m): res = 0 while m > 0: res += self.bit[m] m -= m&(-m) return res def sum(self, a, b): return self.query(b)-self.query(a) def sumall(self): bitlen = self.bitlen-1 return self.query(bitlen) def add(self, m, x): m += 1 bitlen = len(self.bit) while m <= bitlen-1: self.bit[m] += x m += m&(-m) return def search(self, a): tmpsum = 0 i = 0 k = (self.bitlen-1).bit_length() while k >= 0: tmpk = 2**k if i+tmpk <= self.bitlen-1: if tmpsum+self.bit[i+tmpk] < a: tmpsum += self.bit[i+tmpk] i += tmpk k = k-1 return i+1 def __init__(self, a): self.bitlen = a self.bit = [0]*a n, m = map(int,input().split()) p = list(map(int,input().split())) for i in range(n): p[i] -= 1 bit = BIT(n+4) ans = 0 for i in range(n): ans += bit.sum(p[i]+1, n+2); bit.add(p[i], 1); k = (ans + m -1) // m k *= m if k % 2 == ans % 2: print(k) exit() k += m if k % 2 == ans % 2: print(k) exit() print(-1)