#include <bits/stdc++.h>

using namespace std;

static FILE *fr, *fw;

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

// Declaring functions
long long int paletta_sort(int N, int* V) {
    for (int i = 0; i < N; i++) if (V[i]%2!=i%2) return -1;
    /*vector<long long> pari;
    vector<long long> dispari;
    for (int i = 0; i+2 < N; i+=2) {
      pari.push_back(V[i]);
    }
    long long i = 1;
    while (i < N) {
      dispari.push_back(V[i]);
      i+=2;
    }
    long long cambi = 0;
    bool changed = true;
    while (changed) {
      changed = false;
      for (long long i = 0; i < pari.size()-1; i++) {
        if (pari[i]>pari[i+1]) {
          swap(pari[i], pari[i+1]);
          cambi++;
          changed = true;
        } 
      }
    }
    changed = true;
    while (changed) {
      changed = false;
      for (long long i = 0; i < dispari.size()-1; i++) {
        if (dispari[i]>dispari[i+1]) {
          swap(dispari[i], dispari[i+1]);
          cambi++;
          changed = true;
        } 
      }
    }*/
    return 0;
}

/*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);
    int N;
    cin>>N;
    int V[N];
    for (int i = 0; i < N; i++) {
      cin>>V[i];
    }
    cout<<paletta_sort(N, V);
	return 0;
}*/
