#include<bits/stdc++.h>
using namespace std;
#define lli long long int
#define inf 1000000000
#define pb push_back
#define mp make_pair
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl "\n"
#define yoi cout<<"yo"<<endl;
#define debug(i) cout<<i<<endl;
int have[200001]={0};
const int mod=1e9 +7;
int main(){
int n,i,j;
cin>>n;
int a[n],b[n];
for(i=0;i<n;i++){
    cin>>a[i];
}
for(i=0;i<n;i++){
    cin>>b[i];
}
int zero=0;
for(i=0;i<n;i++){
    if(!a[i])
        zero++;
}
int start=0,last=zero,middle,index=0;
int have[n+1];
while(start<=last){
    memset(have,0,sizeof(have));
    for(i=0;i<n;i++){
        if(a[i])
            have[a[i]]++;
    }
    middle=(start+last)/2;
    for(j=0;j<middle;j++){
        if(b[j])
            have[b[j]]++;
    }
    //cout<<"yo"<<" "<<middle<<endl;
    for(i=1;i<=n;i++){
        if(!have[i])
            break;
        else{
            if(b[j])
                have[b[j]]++;
                j=(j+1)%n;
        }
    }
    //cout<<i<<" "<<middle<<endl;
    if(i==n+1){
        last=middle-1;
        index=middle;
    }
    else start=middle+1;
}
//cout<<index<<endl;
if(index){
    cout<<index+n<<endl;
}
else{
    for(j=0;j<n;j++){
        if(b[j]==1)
            break;
    }
    cout<<j<<endl;
}
}
