#include<bits/stdc++.h>
using namespace std;
#define int long long
int ans;
int n;
int f;
int a[701],p[701];
signed main(){
freopen("sweet.in","r",stdin);
freopen("sweet.out","w",stdout);
cin>>n;
for(int i=1;i<n;i++){
cin>>p[i];
if(p[i]==i&&f!=-1)f=1;
else if(p[i]==1&&f!=-1)f=2;
else if((f==1&&p[i]!=i)||(f==2&&p[i]!=1))f=-1;
}
int mi=INT_MAX*1e6;
for(int i=1;i<=n;i++){
cin>>a[i],mi=min(mi,a[i]);
}
if(f==1){
ans=2e12;
for(int i=1;i<=n;i++){
ans=min(ans,a[i]*(n-i+1));
}
cout<<ans<<'\n';
}else if(f==2)cout<<2*mi<<'\n';
fclose(stdin);
fclose(stdout);
return 0;
}