#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(ll i=0;i g[6000010]; ll T=1; void dfs(ll x){ v[x]=1; T=max(T,x); for(ll i=0;i<(ll)g[x].size();i++){ if(v[g[x][i]]==0){ dfs(g[x][i]); } } } 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(a[i]+b[i]); dfs(1); cout << T << endl; return 0; }