#include <bits/stdc++.h>
using namespace std;
long long int ris=0;
vector <int> sorter(vector<int> a,vector<int> b){
int ind1=0,ind2=0,nfatti=0;
vector<int> v;
while(ind1<a.size()||ind2<b.size()){

    if(ind1==a.size()){
        v.push_back(b[ind2]);
        ris+=a.size()+ind2-nfatti;
        ind2++;
        nfatti++;
    }
    else{
        if(ind2==b.size()){
        v.push_back(a[ind1]);
        ind1++;
        nfatti++;
    }
    }

    if(ind1<a.size()&&ind2<b.size()){//cout<<a[ind1]<<" "<<b[ind2]<<ris<<endl;
        if(a[ind1]<=b[ind2]){
        v.push_back(a[ind1]);
        ind1++;
        nfatti++;
    }
    else{
        v.push_back(b[ind2]);
        ris+=a.size()+ind2-nfatti;
        ind2++;
        nfatti++;
    }
    }

}
return v;




}
vector<int> ordinatore(vector<int> a,int l,int r){
    vector<int>b,c;
    if(l>=r){
            b.push_back(a[l]);
        return b;
    }
int m=(l+r)/2;
return sorter(ordinatore(a,l,m),ordinatore(a,m+1,r));


}

long long paletta_sort(int N, int V[]) {
    vector<int> a,b,c;
    int l=0,r=N-1;
    for(int i=0;i<N;i++){
        if(V[i]%2!=i%2){
            return -1;
        }
    }
    for(int i=0;i<N;i++){
        if(i%2==0){
            a.push_back(V[i]);
        }
        else{
            b.push_back(V[i]);
        }
    }
    c=ordinatore(a,l,a.size()-1);
    //cout<<ris<<endl;
    l=0;r=N-1;
    c=ordinatore(b,l,b.size()-1);
    return ris;
}
