atcoder#ABC254F. [ABC254F] Rectangle GCD

[ABC254F] Rectangle GCD

配点 : 500500

問題文

正整数 NN と長さ NN の正整数列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N)B=(B1,B2,,BN)B=(B_1,B_2,\dots,B_N) が与えられます。

N×NN \times N のマス目があります。上から ii 行目、左から jj 列目のマスをマス (i,j)(i,j) と呼びます。1i,jN1 \le i,j \le N を満たす整数の組 (i,j)(i,j) に対し、マス (i,j)(i,j)Ai+BjA_i + B_j が書かれています。以下のクエリを QQ 個処理してください。

  • 1h1h2N,1w1w2N1 \le h_1 \le h_2 \le N,1 \le w_1 \le w_2 \le N を満たす整数の組 h1,h2,w1,w2h_1,h_2,w_1,w_2 が与えられる。左上隅が (h1,w1)(h_1,w_1)、右下隅が (h2,w2)(h_2,w_2) である矩形領域に含まれる整数の最大公約数を求めよ。

制約

  • 1N,Q2×1051 \le N,Q \le 2 \times 10^5
  • 1Ai,Bi1091 \le A_i,B_i \le 10^9
  • 1h1h2N1 \le h_1 \le h_2 \le N
  • 1w1w2N1 \le w_1 \le w_2 \le N
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN QQ

A1A_1 A2A_2 \dots ANA_N

B1B_1 B2B_2 \dots BNB_N

query1\mathrm{query}_1

query2\mathrm{query}_2

\vdots

queryQ\mathrm{query}_Q

各クエリは以下の形式で与えられる。

h1h_1 h2h_2 w1w_1 w2w_2

出力

QQ 行出力せよ。ii 行目には queryi\mathrm{query}_i の答えを出力せよ。

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
2
1
11
6
10

マス (i,j)(i,j) に書かれている整数を Ci,jC_{i,j} とします。

11 個目のクエリについて、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 が答えとなります。

1 1
9
100
1 1 1 1
109