#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;

int calcola(vector<int> a){
int t=1;
int u=0;
while(t<a.size()){t=t*2;}
  int const2=a.size();
for(int i=0;i<t-const2;i++){a.push_back(2000000000);}
int k=2;
while(k<=t){
for(int i=0;i<t;i=i+k){
int b=0;
for(int n=0;n<k/2;n++){
  if(a[i+n]>a[i+k/2+b]){u=u+k/2-n;n--;b++;if(b>=k/2){n=k/2;}}
}
sort(a.begin()+i,a.begin()+i+k);

}


k=k*2;}


  return u;
}







long long paletta_sort(int N, int V[]) {

vector<int> s1;
  vector<int> s2;

  for(int i=0;i<N;i++){
    if(i%2==0){
      s1.push_back(V[i]);
    }else{s2.push_back(V[i]);}
  }

int ris=calcola(s1)+calcola(s2);
  
sort(s1.begin(),s1.end());
sort(s2.begin(),s2.end());
vector<int> riss;

  for(int i=0;i<N;i++){
    if(i%2==0){
      riss.push_back(s1[i/2]);
    }
    else{riss.push_back(s2[(i/2)]);}
  }

for(int i=0;i<N-1;i++){
  if(riss[i]>riss[i+1]){ris=-1;}
}
  
    return ris;
}


/*int main(){

vector<int> s={2,0,4,3,1};
  
  //cout<<calcola(s);


 

    cout<<paletta_sort(5,s);


  return 0;
}
*/



