题目描述
给定一个正整数 N 和两个长度为 N 的正整数序列 A=(A1,A2,dots,AN) 和 B=(B1,B2,dots,BN)。
我们有一个 NtimesN 的网格。第 i 行第 j 列的方块称为方块 (i,j)。对于每一对整数 (i,j),其中 1lei,jleN,方块 (i,j) 上的数字为 Ai+Bj。处理 Q 个以下形式的查询:
- 给定四个整数 h1,h2,w1,w2,其中 1leh1leh2leN,1lew1lew2leN。找出矩形区域内包含的整数的最大公约数。该矩形区域的左上角和右下角分别为 (h1,w1) 和 (h2,w2)。
约束条件
- 1leN,Qle2times105
- 1leAi,Bile109
- 1leh1leh2leN
- 1lew1lew2leN
- 输入中的所有值都是整数。
输入
从标准输入中以以下格式给出输入:
N Q
A1 A2 dots AN
B1 B2 dots BN
mathrmquery1
mathrmquery2
vdots
mathrmqueryQ
每个查询的格式如下:
h1 h2 w1 w2
输出
打印 Q 行。第 i 行应包含第 i 个查询的答案。
示例输入 1
3 5
3 5 2
8 1 3
1 2 2 3
1 3 1 3
1 1 1 1
2 2 2 2
3 3 1 1
示例输出 1
2
1
11
6
10
设 Ci,j 表示方块 (i,j) 上的整数。
对于第一个查询,我们有 C1,2=4,C1,3=6,C2,2=6,C2,3=8,所以答案是它们的最大公约数,即 2。
示例输入 2
1 1
9
100
1 1 1 1
示例输出 2
109