#include <cstdio>
#include <cassert>
#include <cstdlib>
#include <vector>
using namespace std;
// Declaring variables
static int N;
static int* V;
static long long int numero_ribaltamenti;
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;
}
++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;
}
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+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIERlY2xhcmluZyB2YXJpYWJsZXMKc3RhdGljIGludCBOOwpzdGF0aWMgaW50KiBWOwpzdGF0aWMgbG9uZyBsb25nIGludCBudW1lcm9fcmliYWx0YW1lbnRpOwpsb25nIGxvbmcgYW5zID0gMDsKaW50IExbMTUwMDAwMF0sIFJbMTUwMDAwMF07CgoKdm9pZCBtZXJnZSh2ZWN0b3I8aW50PiYgdiwgaW50IGwsIGludCBtLCBpbnQgcikgewogIGludCBuMSA9IG0tbCsxLCBuMiA9IHItbSwgaSwgaj0wLCBrPWw7CiAgZm9yKGkgPSAwOyBpIDwgbjE7ICsraSkgTFtpXSA9IHZbbCtpXTsKICBmb3IoaSA9IDA7IGkgPCBuMjsgKytpKSBSW2ldID0gdlttK2krMV07CgogIGkgPSAwOwogIHdoaWxlKGkgPCBuMSAmJiBqIDwgbjIpIHsKICAgIGlmKExbaV0gPCBSW2pdKSB7CiAgICAgIHZba10gPSBMW2ldOwogICAgICArK2k7CiAgICB9IAogICAgZWxzZSB7CiAgICAgIHZba10gPSBSW2pdOwogICAgICArK2o7CiAgICAgIGFucyArPSBqICsgbSAtIGs7IAogICAgfQogICAgKytrOwogIH0KCiAgd2hpbGUoaSA8IG4xKSB7CiAgICB2W2tdID0gTFtpXTsKICAgICsraTsKICAgICsrazsKICB9CgogIHdoaWxlKGogPCBuMikgewogICAgdltrXSA9IFJbal07CiAgICArK2o7CiAgICArK2s7CiAgfQp9Cgp2b2lkIG1lcmdlc29ydCh2ZWN0b3I8aW50PiYgdiwgaW50IGwsIGludCByKSB7CiAgaWYobCA+PSByKSByZXR1cm47CgogIGludCBtaWQgPSBsICsgKHItbCkgLyAyOwogIG1lcmdlc29ydCh2LCBsLCBtaWQpOwogIG1lcmdlc29ydCh2LCBtaWQrMSwgcik7CiAgbWVyZ2UodiwgbCwgbWlkLCByKTsKfQoKbG9uZyBsb25nIHBhbGV0dGFfc29ydChpbnQgTiwgaW50IFZbXSkgewogIHZlY3RvcjxpbnQ+IGEsIGI7CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICAgICAgICAgaWYgKFZbaV0lMiAhPSBpJTIpIHJldHVybiAtMTsKICB9CiAgZm9yKGludCBpID0gMDsgaSA8IE47ICsraSkgewogICAgaWYoaSAlIDIgPT0gMCkKICAgICAgYS5wdXNoX2JhY2soVltpXSk7CiAgICBlbHNlIAogICAgICBiLnB1c2hfYmFjayhWW2ldKTsKICB9CiAgbWVyZ2Vzb3J0KGEsIDAsIGEuc2l6ZSgpIC0gMSk7CiAgbWVyZ2Vzb3J0KGIsIDAsIGIuc2l6ZSgpIC0gMSk7CiAgCiAgcmV0dXJuIGFuczsKfQoKaW50IG1haW4oKSB7CgkKCgkvLyBSZWFkaW5nIGlucHV0CglzY2FuZigiJWQgIiwgJk4pOwoJViA9IChpbnQqKW1hbGxvYyhOICogc2l6ZW9mKGludCkpOwoJZm9yIChpbnQgaTAgPSAwOyBpMCA8IE47IGkwKyspIHsKCQlzY2FuZiggIiVkICIsICZWW2kwXSk7Cgl9CgoJLy8gQ2FsbGluZyBmdW5jdGlvbnMKCW51bWVyb19yaWJhbHRhbWVudGkgPSBwYWxldHRhX3NvcnQoTiwgVik7CgoJLy8gV3JpdGluZyBvdXRwdXQKCXByaW50ZiggIiVsbGRcbiIsIG51bWVyb19yaWJhbHRhbWVudGkpOwoJCgkKCXJldHVybiAwOwp9CgoKCg==