#include <cstdio>
#include <cassert>
#include <cstdlib>

static FILE *fr, *fw;

// Declaring variables
static int N;
static int* V;
static long long int numero_ribaltamenti;








// Declaring functions
#include<vector>
using namespace std;
long long paletta_sort(int N, int V[]) {

vector<int> a(3);
vector<int> b(2);
long long t=0;
for(int i=0;i<N;i++){
  if(i%2==0){a.push_back(V[i]);}
  else{b.push_back(V[i]);}
}
  
bool fin=false;

while(fin==false){
  fin=true;
  for(int i=0;i<a.size()-1;i++){
    if(a[i]>a[i+1]){fin=false;t++;}
  }
}
  fin=false;
while(fin==false){
  fin=true;
  for(int i=0;i<b.size()-1;i++){
    if(b[i]>b[i+1]){fin=false;t++;}
  }
}

for(int i=0;i<a.size()-1;i++){
  if(b[i]<a[i]){t=-1;}
}
  
    return t;
}












int main() {
	fr = fopen("input.txt", "r");
	fw = fopen("output.txt", "w");

	// Reading input
	fscanf(fr, "%d ", &N);
	V = (int*)malloc(N * sizeof(int));
	for (int i0 = 0; i0 < N; i0++) {
		fscanf(fr, "%d ", &V[i0]);
	}

	// Calling functions
	numero_ribaltamenti = paletta_sort(N, V);

	// Writing output
	fprintf(fw, "%lld\n", numero_ribaltamenti);
	
	fclose(fr);
	fclose(fw);
	return 0;
}
