#include<iostream>
#include<vector>
#include<cassert>
using namespace std;
bool vis[1<<20];
vector<int>G[1<<20];
int N,A[2000];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin>>N;
	for(int i=0;i<N;i++)cin>>A[i];
	for(int i=0;i<N;i++)
	{
		int B;cin>>B;
		G[A[i]].push_back(A[i]+B);
	}
	vis[1]=true;
	int mx=1;
	for(int i=1;i<1<<20;i++)if(vis[i])
	{
		mx=i;
		for(int v:G[i])vis[v]=true;
	}
	cout<<mx<<endl;
}