#include <cstdio>
#include <cassert>
#include <cstdlib>
#include <vector>
using namespace std;
long long ans = 0;
int L[1500000], R[1500000];
void merge(vector<int>& v, int l, int m, int r) {
int n1 = m-l+1, n2 = r-m, i, j=0, k=l;
for(i = 0; i < n1; ++i) L[i] = v[l+i];
for(i = 0; i < n2; ++i) R[i] = v[m+i+1];
i = 0;
while(i < n1 && j < n2) {
if(L[i] < R[j]) {
v[k] = L[i];
++i;
} else {
v[k] = R[j];
++j;
ans += j + m - k; // aumento numero di scambi
}
++k;
}
while(i < n1) {
v[k] = L[i];
++i;
++k;
}
while(j < n2) {
v[k] = R[j];
++j;
++k;
}
}
void mergesort(vector<int>& v, int l, int r) {
if(l >= r) return;
int mid = l + (r-l) / 2;
mergesort(v, l, mid);
mergesort(v, mid+1, r);
merge(v, l, mid, r);
}
long long paletta_sort(int N, int V[]) {
vector<int> a, b;
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]);
}
mergesort(a, 0, a.size() - 1);
mergesort(b, 0, b.size() - 1);
return ans;
}
// 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);
int main() {
// Reading input
scanf("%d ", &N);
V = (int*)malloc(N * sizeof(int));
for (int i0 = 0; i0 < N; i0++) {
scanf( "%d ", &V[i0]);
}
// Calling functions
numero_ribaltamenti = paletta_sort(N, V);
// Writing output
printf( "%lld\n", numero_ribaltamenti);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNhc3NlcnQ+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8dmVjdG9yPgoKCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbG9uZyBsb25nIGFucyA9IDA7CmludCBMWzE1MDAwMDBdLCBSWzE1MDAwMDBdOwoKdm9pZCBtZXJnZSh2ZWN0b3I8aW50PiYgdiwgaW50IGwsIGludCBtLCBpbnQgcikgewogIGludCBuMSA9IG0tbCsxLCBuMiA9IHItbSwgaSwgaj0wLCBrPWw7CiAgZm9yKGkgPSAwOyBpIDwgbjE7ICsraSkgTFtpXSA9IHZbbCtpXTsKICBmb3IoaSA9IDA7IGkgPCBuMjsgKytpKSBSW2ldID0gdlttK2krMV07CgogIGkgPSAwOwogIHdoaWxlKGkgPCBuMSAmJiBqIDwgbjIpIHsKICAgIGlmKExbaV0gPCBSW2pdKSB7CiAgICAgIHZba10gPSBMW2ldOwogICAgICArK2k7CiAgICB9IGVsc2UgewogICAgICB2W2tdID0gUltqXTsKICAgICAgKytqOwogICAgICBhbnMgKz0gaiArIG0gLSBrOyAvLyBhdW1lbnRvIG51bWVybyBkaSBzY2FtYmkKICAgIH0KICAgICsrazsKICB9CgogIHdoaWxlKGkgPCBuMSkgewogICAgdltrXSA9IExbaV07CiAgICArK2k7CiAgICArK2s7CiAgfQoKICB3aGlsZShqIDwgbjIpIHsKICAgIHZba10gPSBSW2pdOwogICAgKytqOwogICAgKytrOwogIH0KfQoKdm9pZCBtZXJnZXNvcnQodmVjdG9yPGludD4mIHYsIGludCBsLCBpbnQgcikgewogIGlmKGwgPj0gcikgcmV0dXJuOwoKICBpbnQgbWlkID0gbCArIChyLWwpIC8gMjsKICBtZXJnZXNvcnQodiwgbCwgbWlkKTsKICBtZXJnZXNvcnQodiwgbWlkKzEsIHIpOwogIG1lcmdlKHYsIGwsIG1pZCwgcik7Cn0KCmxvbmcgbG9uZyBwYWxldHRhX3NvcnQoaW50IE4sIGludCBWW10pIHsKICB2ZWN0b3I8aW50PiBhLCBiOwogIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgICAgICAgIGlmIChWW2ldJTIgIT0gaSUyKSByZXR1cm4gLTE7CiAgfQogIGZvcihpbnQgaSA9IDA7IGkgPCBOOyArK2kpIHsKICAgIGlmKGkgJSAyID09IDApCiAgICAgIGEucHVzaF9iYWNrKFZbaV0pOwogICAgZWxzZSAKICAgICAgYi5wdXNoX2JhY2soVltpXSk7CiAgfQogIG1lcmdlc29ydChhLCAwLCBhLnNpemUoKSAtIDEpOwogIG1lcmdlc29ydChiLCAwLCBiLnNpemUoKSAtIDEpOwogIAogIHJldHVybiBhbnM7Cn0KCgoKCi8vIERlY2xhcmluZyB2YXJpYWJsZXMKc3RhdGljIGludCBOOwpzdGF0aWMgaW50KiBWOwpzdGF0aWMgbG9uZyBsb25nIGludCBudW1lcm9fcmliYWx0YW1lbnRpOwoKLy8gRGVjbGFyaW5nIGZ1bmN0aW9ucwpsb25nIGxvbmcgaW50IHBhbGV0dGFfc29ydChpbnQgTiwgaW50KiBWKTsKCmludCBtYWluKCkgewoJCgoJLy8gUmVhZGluZyBpbnB1dAoJc2NhbmYoIiVkICIsICZOKTsKCVYgPSAoaW50KiltYWxsb2MoTiAqIHNpemVvZihpbnQpKTsKCWZvciAoaW50IGkwID0gMDsgaTAgPCBOOyBpMCsrKSB7CglzY2FuZiggIiVkICIsICZWW2kwXSk7Cgl9CgoJLy8gQ2FsbGluZyBmdW5jdGlvbnMKCW51bWVyb19yaWJhbHRhbWVudGkgPSBwYWxldHRhX3NvcnQoTiwgVik7CgoJLy8gV3JpdGluZyBvdXRwdXQKCXByaW50ZiggIiVsbGRcbiIsIG51bWVyb19yaWJhbHRhbWVudGkpOwoJCgoJcmV0dXJuIDA7Cn0KCg==