#abc254f. [abc254_f]Rectangle GCD

[abc254_f]Rectangle GCD

题目描述

给定一个正整数 NN 和两个长度为 NN 的正整数序列 A=(A1,A2,dots,AN)A=(A_1,A_2,\\dots,A_N)B=(B1,B2,dots,BN)B=(B_1,B_2,\\dots,B_N)

我们有一个 NtimesNN \\times N 的网格。第 ii 行第 jj 列的方块称为方块 (i,j)(i,j)。对于每一对整数 (i,j)(i,j),其中 1lei,jleN1 \\le i,j \\le N,方块 (i,j)(i,j) 上的数字为 Ai+BjA_i + B_j。处理 QQ 个以下形式的查询:

  • 给定四个整数 h1,h2,w1,w2h_1,h_2,w_1,w_2,其中 1leh1leh2leN1 \\le h_1 \\le h_2 \\le N1lew1lew2leN1 \\le w_1 \\le w_2 \\le N。找出矩形区域内包含的整数的最大公约数。该矩形区域的左上角和右下角分别为 (h1,w1)(h_1,w_1)(h2,w2)(h_2,w_2)

约束条件

  • 1leN,Qle2times1051 \\le N,Q \\le 2 \\times 10^5
  • 1leAi,Bile1091 \\le A_i,B_i \\le 10^9
  • 1leh1leh2leN1 \\le h_1 \\le h_2 \\le N
  • 1lew1lew2leN1 \\le w_1 \\le w_2 \\le N
  • 输入中的所有值都是整数。

输入

从标准输入中以以下格式给出输入:

NN QQ A1A_1 A2A_2 dots\\dots ANA_N B1B_1 B2B_2 dots\\dots BNB_N mathrmquery1\\mathrm{query}_1 mathrmquery2\\mathrm{query}_2 vdots\\vdots mathrmqueryQ\\mathrm{query}_Q

每个查询的格式如下:

h1h_1 h2h_2 w1w_1 w2w_2

输出

打印 QQ 行。第 ii 行应包含第 ii 个查询的答案。

示例输入 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,jC_{i,j} 表示方块 (i,j)(i,j) 上的整数。

对于第一个查询,我们有 C1,2=4,C1,3=6,C2,2=6,C2,3=8C_{1,2}=4,C_{1,3}=6,C_{2,2}=6,C_{2,3}=8,所以答案是它们的最大公约数,即 22

示例输入 2

1 1
9
100
1 1 1 1

示例输出 2

109