#include #include using namespace std; using ll = long long; #define rep(i,n) for(int i=0;i<(int)(n);i++) using mint = atcoder::modint998244353; struct BIT{ vector bit; BIT(int n) :bit(n+1,0){}; void add(int i,ll v){ i++; while(i0){ rt+=bit.at(i); // <- i-=(i&-i); } return rt; } ll sum(int l,int r){ if(r<=l) return 0; return Rsum(r)-Rsum(l); // <- } }; ll tnto(const vector &v){ int n=v.size(); BIT fn(n+1); ll rt=0; rep(i,n){ rt+=i-fn.Rsum(v.at(i)); fn.add(v.at(i),1); } return rt; } int main(){ ll n,m; cin>>n>>m; vector p(n); rep(i,n) cin>>p.at(i); ll k=tnto(p); if(k%2&&m%2==0){ cout<<-1<