#include <bits\stdc++.h>

using namespace std;
int n;
int a[100010];
int b[100010];
short gen[2000000][30];
short pom[30];
int red[100010];

typedef struct{
    int kutija;
    int t;
    int code;
} dog;
dog dogadjaji[300010]; //0 dodaj 1 skini
int duzD, duzG;
int index;

bool cmp(dog d1, dog d2)
{
    return d1.t<d2.t;
}

void generisi(int i)
{
    if(i==n)
    {
        gen[duzG][0]=0;
        for(int j=1;j<n;j++)
            gen[duzG][j]=pom[j];
        duzG++;
        return;
    }
    pom[i]=0;
    generisi(i+1);
    pom[i]=1;
    generisi(i+1);
}

void ubaci(int k, int c)
{
    if(c==0)
    {
        for(int i=index;i>=1;i--)
            red[i]=red[i-1];
        red[0]=k;
        index++;
    }
    else
    {
        red[index++]=k;
    }
}

long long skini(int k)
{
    int i;
    for(i=0;i<index;i++)
        if(red[i]==k)
            break;
    index--;
    for(int j=i;j<index;j++)
        red[j]=red[j+1];
    return i;
}

long long Resi(int N, int *A, int *B) {

    n=N;
    for(int i=0;i<N;i++)
        a[i]=A[i], b[i]=B[i];

    duzD=0;
    for(int i=0;i<n;i++)
    {
        dogadjaji[duzD++]={i,a[i], 0};
        dogadjaji[duzD++]={i,b[i], 1};
    }
    sort(dogadjaji,dogadjaji+duzD, cmp);
    /*for(int i=0;i<duzD;i++)
        cout<<dogadjaji[i].t<<" ";*/

    duzG=0;
    generisi(1);

    long long sol=LLONG_MAX;
    for(int i=0;i<duzG;i++)
    {
        long long teksol=0;
        index=0;
        for(int j=0;j<duzD;j++)
        {
            if(dogadjaji[j].code==0)
            {
                int k=dogadjaji[j].kutija;
                ubaci(k,gen[i][k]);
            }
            else
            {
                teksol+=skini(dogadjaji[j].kutija);
            }
        }
        sol=min(sol,teksol);
    }


	return sol;
}