#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#define int long long
using namespace std;
const int N = 12;
int k;
int a[N], b[N];
int m, p;
int x, y;
int del, l;
int gcd(int a, int b) {
if(a < b) swap(a, b);
return b == 0 ? a : gcd(b, a % b);
}
void exgcd(int a, int b, int &x, int &y) {
if(b == 0) {
x = 1, y = 0;
return;
}
exgcd(b, a % b, y, x);
y -= (a / b) * x;
}
int mul(int a, int k, int mod) {
int res = 0;
while(k) {
if(k & 1) res = (res + a) % mod;
a = (a + a) % mod;
k >>= 1;
}
return res;
}
signed main() {
cin >> k;
for(int i = 1; i <= k; ++ i) cin >> a[i];
for(int i = 1; i <= k; ++ i) cin >> b[i];
m = a[1], p = b[1];
for(int i = 2; i <= k; ++ i) {
del = (a[i] - m) % b[i];
del = (del + b[i]) % b[i];
exgcd(p, b[i], x, y);
l = p * b[i];
x = mul(x, del, l);
x = (x + l) % l;
m = (mul(p, x, l) + m) % l;
p = l;
}
cout << m << endl;
return 0;
}