#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=1e5+5;
int n,lcm,now,x,y,m[maxn],a[maxn];
inline void exgcd(int a,int b,int c){
if(!b){
x=c/a,y=0;
return;
}
exgcd(b,a%b,c);
int t=y;
y=x-(a/b)*y,x=t;
}
inline void solve(){
lcm=m[1],now=a[1];
for(int i=2;i<=n;++i){
int d=__gcd(lcm,m[i]);
if((a[i]-now)%d){
puts("-1");
return;
}
exgcd(lcm,m[i],a[i]-now);
x=(x%m[i]+m[i])%m[i];
now+=lcm*x;
lcm=lcm/d*m[i];
now=(now%lcm+lcm)%lcm;
}
cout<<now<<endl;
return;
}
signed main(){
cin>>n;
for(int i=1;i<=n;++i)
cin>>a[i];
for(int i=1;i<=n;++i)
cin>>m[i];
solve();
return 0;
}