#include<iostream>
using namespace std;
const long long N=1e8+5;
int n,l[11],r[11],p[N],m=N,idx=1,v[N];
void dfs(int x,int s){
int t;
if(s==n){
m=min(idx+max(r[p[idx]],l[x])+1,m);
return ;
}
if(x!=0){
idx=idx+max(r[p[idx]],l[x])+1;
if(s==1) idx=1;
p[idx]=x;
v[x]=1;
}
for(int i=1;i<=n;i++){
t=max(r[p[idx]],l[i])+idx+1;
if(v[i]==0){
p[t]=i;
v[i]=1;
dfs(i,s+1);
p[t]=0;
v[i]=0;
}
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>l[i];
for(int i=1;i<=n;i++) cin>>r[i];
dfs(0,0);
cout<<m;
}