/*
TASK:round
LANG:C
*/
#include <stdio.h>
#define MAXN 2000
int n;
int a[MAXN],b[MAXN];
int used[MAXN+1];
int s=0;
int calc(int u,int v)
{
 int i,c=0;
 if(u>v)
        return s-calc(v,u);
 for(i=u;i<=v;i++)
    if(used[i])
      c++;
 return c;
}

#define MIN(a,b) (a<b?a:b)
int bt(int x,int y)
{
 int r,d1,d2,t;
 if(x==n && y==n)
    return 0;
 if(y==n)
 {
    int t1=calc(1,a[x]),t2=calc(a[x],2*n);
    used[a[x]]=1;
    s++;
    r=MIN(t1,t2)+bt(x+1,y);
    s--;
    used[b[y]]=0;
    return r;
 }
 if(x==n)
 {
    int t1=calc(n+1,b[y]),t2=calc(n,b[y]);
    used[b[y]]=1;
    s++;
    r=MIN(t1,t2)+bt(x,y+1);
    s--;
    used[b[y]]=0;
    return r;
 }
 d1=calc(1,a[x]);
 r=calc(a[x],2*n);
 if(r<d1)
         d1=r;
 d2=calc(n+1,b[y]);
 r=calc(b[y],n);
 if(r<d2)
         d2=r;
 used[a[x]]=1;
 s++;
 r=d1+bt(x+1,y);
 s--;
 used[a[x]]=0;
 used[b[y]]=1;
 s++;
 t=d2+ bt(x,y+1);
 s--;
 used[b[y]]=0;
 if(t<r)
    r=t;
 return r;
}
int main()
{
 int i;
 scanf("%i",&n);
 for(i=0;i<n;i++)
    scanf("%i",&a[i]);
 for(i=0;i<n;i++)
    scanf("%i",&b[i]);
 printf("%d\n",bt(0,0));
 return 0;
}
