#include <bits/stdc++.h>
using namespace std;

using ll = long long;

struct BIT {
    vector<ll> tree;
    BIT (int N) {
        tree.resize(N+1);
    }

    ll query(int i) {
        ll res = 0;
        for (; i > 0; i -= i&-i) {
            res += tree[i];
        }
        return res;
    }

    void update(int i) {
        for (; i < (int)tree.size(); i += i&-i) {
            tree[i]++;
        }
    }
};

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

    for (int i = 0; i < N; i++) {
        if (V[i] % 2 != i % 2) return -1;
    }

    ll ans = 0;
    BIT ft(N);

    for (int i = 0; i < N; i += 2) {
        ans += ft.query(N) - ft.query(V[i]+1);
        ft.update(V[i]+1);
    }

    for (int i = 0; i <= N; i++) ft.tree[i] = 0;

    for (int i = 1; i < N; i += 2) {
        ans += ft.query(N) - ft.query(V[i]+1);
        ft.update(V[i]+1);
    }

    return ans;
}
