#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;
struct BIT{
int n;
vector<int> t;
void init(int _n){
n=_n;
t.assign(n+1, 0);
}
void update(int pos, int val){
++pos;
for (int i=pos; i<=n; i+=i&(-i)) t[i]+=val;
}
int get(int pos){
++pos;
int ans=0;
for (int i=pos; i; i-=i&(-i)) ans+=t[i];
return ans;
}
int get(int l, int r){
return get(r)-get(l-1);
}
} bit;
long long count_swaps(vector<int> a) {
int n=a.size();
vector<queue<int>> pos(n*2+1);
vector<int> match(n);
long long ans=0;
for (int i=0; i<n; ++i){
int id=a[i]>0?a[i]:n-a[i];
int rid=a[i]>0?n+a[i]:-a[i];
if (pos[rid].size()){
match[pos[rid].front()]=i;
match[i]=pos[rid].front();
if (a[i]<0) ++ans;
pos[rid].pop();
}else{
pos[id].push(i);
}
}
bit.init(n);
for (int i=0; i<n; ++i){
if (match[i]<i){
ans+=bit.get(match[i], i);
bit.update(match[i], 1);
bit.update(i, 1);
}
}
return ans;
}