#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(ll i=0;i g[2010]; ll T=0; void dfs(ll x){ T=max(T,x); if(g[x].size()==0) return; bool f=false; for(ll i=0;i<(ll)g[x].size();i++){ if(g[x][i]!=-1){ f=true; dfs(x+g[x][i]); g[x][i]=-1; } } if(!f) return; } int main(void){ cin.tie(nullptr); ios_base::sync_with_stdio(false); ll i,j; ll N; cin >> N; for(i=1;i<=N;i++) cin >> a[i]; for(i=1;i<=N;i++) cin >> b[i]; for(i=1;i<=N;i++) g[a[i]].push_back(b[i]); dfs(1); cout << T << endl; return 0; }