#include "shoes.h"
#include<bits/stdc++.h>
using namespace std;
vector<int> t;
queue<int> l[100100];
queue<int> r[100100];
int ch[200100];
int fw[200100];
int N;
void upd(int now){
for(int i=now;i<=N;i+=i&-i){
fw[i]++;
}
}
int qry(int now){
int ret=0;
for(int i=now;i>=1;i-=i&-i){
ret+=fw[i];
}
return ret;
}
int s[200100];
long long count_swaps(std::vector<int> vec) {
N=vec.size();
long long ans=0;
for(int i=0;i<vec.size();i++){
s[i+1]=vec[i];
}
for(int i=1;i<=N;i++){
if(s[i]<0)l[abs(s[i])].push(i);
if(s[i]>0)r[abs(s[i])].push(i);
}
for(int i=1;i<=N;i++){
if(ch[i])continue;
ch[i]=1;
int pos;
if(s[i]<0){
while(!r[abs(s[i])].empty() && ch[r[abs(s[i])].front()])r[abs(s[i])].pop();
pos=r[abs(s[i])].front();
ch[pos]=1;
int out=qry(pos)-qry(i);
ans+=1ll*(pos-i-1-out);
upd(pos);
}
else{
while(!l[abs(s[i])].empty() && ch[l[abs(s[i])].front()])l[abs(s[i])].pop();
pos=l[abs(s[i])].front();
ch[pos]=1;
int out=qry(pos)-qry(i);
ans+=1ll*(pos-i-out);
upd(pos);
}
}
return ans;
}