现有两组数字,每组 k 个。
第一组中的数字分别用 a_1,a_2,\cdots ,a_k 表示,第二组中的数字分别用 b_1,b_2,\cdots ,b_k 表示。
其中第二组中的数字是两两互素的。求最小的 n\in \mathbb{N},满足对于 \forall i\in [1,k],有 b_i | (n-a_i)。
第一行一个整数 k。
第二行 k 个整数,表示:a_1,a_2,\cdots ,a_k。
第三行 k 个整数,表示:b_1,b_2,\cdots ,b_k。
输出一行一个整数,为所求的答案 n。
3 1 2 3 2 3 5
23
对于 100\% 的数据:
1\le k \le 10,|a_i|\le 10^9,
1\le b_i\le 6\times 10^3,
\prod_{i=1}^k b_i\le 10^{18}。
每个测试点时限 1 秒。
注意:对于 `
C/C++语言,对 64 位整型数应声明为
long long`
。
若使用 `
scanf`
,`
printf函数(以及
fscanf`
,`
fprintf等),应采用
%lld`
标识符。