#include <bits/stdc++.h>
#include "shoes.h"
using namespace std;
#define ll long long
ll fw[200010];
int n;
set<int> posl[100010], posr[100010];
void add(int idx, ll x)
{
for (int i = idx; i <= n; i+=(i&-i)){
fw[i] += x;
}
}
ll fi(int idx)
{
ll res = 0;
for (int i = idx; i >= 1; i-=(i&-i)){
res += fw[i];
}
return res;
}
ll count_swaps(vector<int> S)
{
n = S.size();
ll ans = 0;
for (int i = 1; i <= n; i++){
add(i, 1);
}
for (int i = 1; i <= n; i++){
int now = S[i-1];
if (now < 0){
if (!posr[-now].empty()){
int idx = *(posr[-now].begin());
posr[-now].erase(posr[-now].begin());
int res = fi(idx);
ans += i-res;
add(idx,1);
add(i,-1);
}
else {
posl[-now].insert(i);
}
}
else {
if (!posl[now].empty()){
int idx = *(posl[now].begin());
posl[now].erase(posl[now].begin());
int res = fi(idx);
ans += i-res-1;
add(idx,1);
add(i,-1);
}
else {
posr[now].insert(i);
}
}
}
return ans;
}