#include <bits/stdc++.h>
#define MAXN 100007
using namespace std;
long long seg[8*MAXN];
int u[2*MAXN];
void upd(int l,int r,int v,int w,int ind)
{
    if(l==r) {seg[ind]+=v; return;}
    int s=(l+r)/2;
    if(w<=s) upd(l,s,v,w,2*ind);
    else upd(s+1,r,v,w,2*ind+1);
    seg[ind]=seg[2*ind]+seg[2*ind+1];
}
long long nsum(int l,int r,int lt,int rt,int ind)
{
    if(r<lt || l>rt) return 0;
    if(l>=lt && r<=rt) return seg[ind];
    int s=(l+r)/2;
    return nsum(l,s,lt,rt,2*ind)+nsum(s+1,r,lt,rt,2*ind+1);
}
long long Resi(int N,int* A,int *B)
{
    int n=N,st=0;
    long long res=0;
    for(int i=0;i<n;i++) u[A[i]]=i;
    for(int i=0;i<n;i++) u[B[i]]=-i-1;
    for(int i=0;i<2*n;i++)
    {
        if(u[i]>=0)
        {
            int t=u[i];
            long long vl=nsum(0,2*n,i,B[t],1);
            res+=min(vl,st-vl);
            st++;
            upd(0,2*n,1,B[t],1);
        }
        else st--;
    }
    return res;
}