#include <iostream>
#include <vector>
using namespace std;
using ll=long long;
ll mergesort(vector<int>&V){
    int sz=V.size();
    if (sz==1)
        return 0;
    int m=sz/2;
    vector<int>v1(m),v2(sz-m);
    for (int i=0;i<m;i++)
        v1[i]=V[i];
    for (int i=m;i<sz;i++)
        v2[i-m]=V[i];
    ll ris=0;
    ris+=mergesort(v1);
    ris+=mergesort(v2);
    int l1=0,l2=0;
    while (l1<m&&l2<sz-m){
        if (v1[l1]<v2[l2])
        {
            V[l1+l2]=v1[l1];
            l1++;
        }
        else{
            V[l1+l2]=v2[l2];
            l2++;
            ris+=m-l1;
        }
    }
    while (l1<m){
        V[l1+l2]=v1[l1];
        l1++;
    }
    while (l2<sz-m){
        V[l1+l2]=v2[l2];
        l2++;
    }
    return ris;
}
long long paletta_sort(int N, int V[]){
    vector<vector<int>>par(2);
    for (int i=0;i<N;i++){
        if (V[i]%2!=i%2){
            return -1;
        }
        par[i%2].push_back(V[i]);
    }
    return mergesort(par[0])+mergesort(par[1]);
}